

    

    
    void canMsgCallBack_RR_(const msg_gen::Frame::ConstPtr &msg)
    {
    
        auto it = *msg;
        vector<int> value;
        int num;
        for(int i=0;i<64;i++){
            num = (int)it.data[i];
            vector<int> num_list;
            for(int j = 0;j < 8;j++){
                    num_list.push_back(num%2);
                    num = num/2;
            }
            // reverse(num_list.begin(),num_list.end());
            for(int k = 0;k < 8;k++)value.push_back(num_list[k]);
        };

    
        std::cout << it.id << std::endl;
        switch (it.id){
    
            case (0x10):{
    
                miliwave_msg::RR_Ego_Vehicle_Movement radar_list_;
    
                    
    
                string signal_name_list[] = {"Ego_Veh_CRC","Ego_Veh_AliveCtr","Ego_Veh_vx","Ego_Veh_Ax","Ego_Veh_YawRate"};
    
                int bit_index[] = {0, 16, 16, 8, 24, 15, 40, 16, 56, 16};
    
                double signal_factor[] = {1.0, 1.0, 0.0039063, 0.0019531, 0.0078125};
    
                double signal_offset[] = {0.0, 0.0, -25.0, -59.0, -180.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Ego_Veh_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Ego_Veh_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Ego_Veh_vx = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Ego_Veh_Ax = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Ego_Veh_YawRate = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_ego_vehicle_movement_pub.publish(radar_list_);
                break;
            };
    
            case (0x20):{
    
                miliwave_msg::RR_Globle_Time_Sync radar_list_;
    
                    
    
                string signal_name_list[] = {"Sync_Type","Sync_CRC","Sync_Counter","Sync_TimeDomain","Sync_OVS","Sync_SGW","Sync_Resd","Sync_SyncTime"};
    
                int bit_index[] = {0, 8, 8, 8, 16, 4, 20, 4, 24, 2, 26, 1, 27, 5, 32, 32};
    
                double signal_factor[] = {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Sync_Type = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Sync_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Sync_Counter = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Sync_TimeDomain = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Sync_OVS = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Sync_SGW = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Sync_Resd = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Sync_SyncTime = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_globle_time_sync_pub.publish(radar_list_);
                break;
            };
    
            case (0x7b5):{
    
                miliwave_msg::RR_Diag_Response radar_list_;
    
                    
    
                string signal_name_list[] = {"Diag_Response_Dummy"};
    
                int bit_index[] = {0, 64};
    
                double signal_factor[] = {1.0};
    
                double signal_offset[] = {0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Diag_Response_Dummy = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_diag_response_pub.publish(radar_list_);
                break;
            };
    
            case (0x735):{
    
                miliwave_msg::RR_Diag_Req_Physical radar_list_;
    
                    
    
                string signal_name_list[] = {"Diag_Request_Phys_Dummy"};
    
                int bit_index[] = {0, 64};
    
                double signal_factor[] = {1.0};
    
                double signal_offset[] = {0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Diag_Request_Phys_Dummy = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_diag_req_physical_pub.publish(radar_list_);
                break;
            };
    
            case (0x7df):{
    
                miliwave_msg::RR_Diag_Req_Functional radar_list_;
    
                    
    
                string signal_name_list[] = {"Diag_Request_Func_Dummy"};
    
                int bit_index[] = {0, 64};
    
                double signal_factor[] = {1.0};
    
                double signal_offset[] = {0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Diag_Request_Func_Dummy = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_diag_req_functional_pub.publish(radar_list_);
                break;
            };
    
            case (0x565):{
    
                miliwave_msg::RR_Radar_Status radar_list_;
    
                    
    
                string signal_name_list[] = {"Radar_Error_Status","Radar_Status_CRC","Radar_Status_AliveCtr"};
    
                int bit_index[] = {5, 3, 8, 16, 24, 8};
    
                double signal_factor[] = {1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Radar_Error_Status = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Radar_Status_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Radar_Status_AliveCtr = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_radar_status_pub.publish(radar_list_);
                break;
            };
    
            case (0x500):{
    
                miliwave_msg::RR_Loc_List_Header radar_list_;
    
                    
    
                string signal_name_list[] = {"LocHeader_NumLoc","LocHeader_Timestamp","LocHeader_Blockcnt","LocHeader_TimestampStatus","LocHeader_Reserved","LocHeader_CRC","LocHeader_AliveCtr"};
    
                int bit_index[] = {0, 9, 9, 41, 50, 4, 54, 8, 62, 10, 72, 16, 88, 8};
    
                double signal_factor[] = {1.0, 0.1, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.LocHeader_NumLoc = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.LocHeader_Timestamp = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.LocHeader_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.LocHeader_TimestampStatus = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.LocHeader_Reserved = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.LocHeader_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.LocHeader_AliveCtr = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_loc_list_header_pub.publish(radar_list_);
                break;
            };
    
            case (0x564):{
    
                miliwave_msg::RR_Location_Data_64 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_64_001","Loc_SNR_64_001","Loc_RadialVelo_64_001","Loc_AziAngle_64_001","Loc_ElevAngle_64_001","Loc_RCS_64_001","Loc_RadialDist_64_002","Loc_SNR_64_002","Loc_RadialVelo_64_002","Loc_AziAngle_64_002","Loc_ElevAngle_64_002","Loc_RCS_64_002","Loc_RadialDist_64_003","Loc_SNR_64_003","Loc_RadialVelo_64_003","Loc_AziAngle_64_003","Loc_ElevAngle_64_003","Loc_RCS_64_003","Loc_RadialDist_64_004","Loc_SNR_64_004","Loc_RadialVelo_64_004","Loc_AziAngle_64_004","Loc_ElevAngle_64_004","Loc_RCS_64_004","Loc_64_CRC","Loc_64_AliveCtr","Loc_64_Blockcnt","Loc_Validity_64_001","Loc_Validity_64_002","Loc_Validity_64_003","Loc_Validity_64_004","Loc_RadialDistVeloQly_64_001","Loc_AziAngleQly_64_001","Loc_ElevAngleQly_64_001","Loc_RadialDistVeloQly_64_002","Loc_AziAngleQly_64_002","Loc_ElevAngleQly_64_002","Loc_RadialDistVeloQly_64_003","Loc_AziAngleQly_64_003","Loc_ElevAngleQly_64_003","Loc_RadialDistVeloQly_64_004","Loc_AziAngleQly_64_004","Loc_ElevAngleQly_64_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_64_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_64_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_64_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_64_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_64_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_64_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_64_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_64_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_64_pub.publish(radar_list_);
                break;
            };
    
            case (0x563):{
    
                miliwave_msg::RR_Location_Data_63 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_63_001","Loc_SNR_63_001","Loc_RadialVelo_63_001","Loc_AziAngle_63_001","Loc_ElevAngle_63_001","Loc_RCS_63_001","Loc_RadialDist_63_002","Loc_SNR_63_002","Loc_RadialVelo_63_002","Loc_AziAngle_63_002","Loc_ElevAngle_63_002","Loc_RCS_63_002","Loc_RadialDist_63_003","Loc_SNR_63_003","Loc_RadialVelo_63_003","Loc_AziAngle_63_003","Loc_ElevAngle_63_003","Loc_RCS_63_003","Loc_RadialDist_63_004","Loc_SNR_63_004","Loc_RadialVelo_63_004","Loc_AziAngle_63_004","Loc_ElevAngle_63_004","Loc_RCS_63_004","Loc_63_CRC","Loc_63_AliveCtr","Loc_63_Blockcnt","Loc_Validity_63_001","Loc_Validity_63_002","Loc_Validity_63_003","Loc_Validity_63_004","Loc_RadialDistVeloQly_63_001","Loc_AziAngleQly_63_001","Loc_ElevAngleQly_63_001","Loc_RadialDistVeloQly_63_002","Loc_AziAngleQly_63_002","Loc_ElevAngleQly_63_002","Loc_RadialDistVeloQly_63_003","Loc_AziAngleQly_63_003","Loc_ElevAngleQly_63_003","Loc_RadialDistVeloQly_63_004","Loc_AziAngleQly_63_004","Loc_ElevAngleQly_63_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_63_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_63_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_63_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_63_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_63_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_63_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_63_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_63_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_63_pub.publish(radar_list_);
                break;
            };
    
            case (0x562):{
    
                miliwave_msg::RR_Location_Data_62 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_62_001","Loc_SNR_62_001","Loc_RadialVelo_62_001","Loc_AziAngle_62_001","Loc_ElevAngle_62_001","Loc_RCS_62_001","Loc_RadialDist_62_002","Loc_SNR_62_002","Loc_RadialVelo_62_002","Loc_AziAngle_62_002","Loc_ElevAngle_62_002","Loc_RCS_62_002","Loc_RadialDist_62_003","Loc_SNR_62_003","Loc_RadialVelo_62_003","Loc_AziAngle_62_003","Loc_ElevAngle_62_003","Loc_RCS_62_003","Loc_RadialDist_62_004","Loc_SNR_62_004","Loc_RadialVelo_62_004","Loc_AziAngle_62_004","Loc_ElevAngle_62_004","Loc_RCS_62_004","Loc_62_CRC","Loc_62_AliveCtr","Loc_62_Blockcnt","Loc_Validity_62_001","Loc_Validity_62_002","Loc_Validity_62_003","Loc_Validity_62_004","Loc_RadialDistVeloQly_62_001","Loc_AziAngleQly_62_001","Loc_ElevAngleQly_62_001","Loc_RadialDistVeloQly_62_002","Loc_AziAngleQly_62_002","Loc_ElevAngleQly_62_002","Loc_RadialDistVeloQly_62_003","Loc_AziAngleQly_62_003","Loc_ElevAngleQly_62_003","Loc_RadialDistVeloQly_62_004","Loc_AziAngleQly_62_004","Loc_ElevAngleQly_62_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_62_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_62_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_62_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_62_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_62_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_62_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_62_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_62_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_62_pub.publish(radar_list_);
                break;
            };
    
            case (0x561):{
    
                miliwave_msg::RR_Location_Data_61 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_61_001","Loc_SNR_61_001","Loc_RadialVelo_61_001","Loc_AziAngle_61_001","Loc_ElevAngle_61_001","Loc_RCS_61_001","Loc_RadialDist_61_002","Loc_SNR_61_002","Loc_RadialVelo_61_002","Loc_AziAngle_61_002","Loc_ElevAngle_61_002","Loc_RCS_61_002","Loc_RadialDist_61_003","Loc_SNR_61_003","Loc_RadialVelo_61_003","Loc_AziAngle_61_003","Loc_ElevAngle_61_003","Loc_RCS_61_003","Loc_RadialDist_61_004","Loc_SNR_61_004","Loc_RadialVelo_61_004","Loc_AziAngle_61_004","Loc_ElevAngle_61_004","Loc_RCS_61_004","Loc_61_CRC","Loc_61_AliveCtr","Loc_61_Blockcnt","Loc_Validity_61_001","Loc_Validity_61_002","Loc_Validity_61_003","Loc_Validity_61_004","Loc_RadialDistVeloQly_61_001","Loc_AziAngleQly_61_001","Loc_ElevAngleQly_61_001","Loc_RadialDistVeloQly_61_002","Loc_AziAngleQly_61_002","Loc_ElevAngleQly_61_002","Loc_RadialDistVeloQly_61_003","Loc_AziAngleQly_61_003","Loc_ElevAngleQly_61_003","Loc_RadialDistVeloQly_61_004","Loc_AziAngleQly_61_004","Loc_ElevAngleQly_61_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_61_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_61_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_61_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_61_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_61_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_61_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_61_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_61_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_61_pub.publish(radar_list_);
                break;
            };
    
            case (0x560):{
    
                miliwave_msg::RR_Location_Data_60 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_60_001","Loc_SNR_60_001","Loc_RadialVelo_60_001","Loc_AziAngle_60_001","Loc_ElevAngle_60_001","Loc_RCS_60_001","Loc_RadialDist_60_002","Loc_SNR_60_002","Loc_RadialVelo_60_002","Loc_AziAngle_60_002","Loc_ElevAngle_60_002","Loc_RCS_60_002","Loc_RadialDist_60_003","Loc_SNR_60_003","Loc_RadialVelo_60_003","Loc_AziAngle_60_003","Loc_ElevAngle_60_003","Loc_RCS_60_003","Loc_RadialDist_60_004","Loc_SNR_60_004","Loc_RadialVelo_60_004","Loc_AziAngle_60_004","Loc_ElevAngle_60_004","Loc_RCS_60_004","Loc_60_CRC","Loc_60_AliveCtr","Loc_60_Blockcnt","Loc_Validity_60_001","Loc_Validity_60_002","Loc_Validity_60_003","Loc_Validity_60_004","Loc_RadialDistVeloQly_60_001","Loc_AziAngleQly_60_001","Loc_ElevAngleQly_60_001","Loc_RadialDistVeloQly_60_002","Loc_AziAngleQly_60_002","Loc_ElevAngleQly_60_002","Loc_RadialDistVeloQly_60_003","Loc_AziAngleQly_60_003","Loc_ElevAngleQly_60_003","Loc_RadialDistVeloQly_60_004","Loc_AziAngleQly_60_004","Loc_ElevAngleQly_60_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_60_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_60_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_60_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_60_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_60_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_60_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_60_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_60_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_60_pub.publish(radar_list_);
                break;
            };
    
            case (0x559):{
    
                miliwave_msg::RR_Location_Data_59 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_59_001","Loc_SNR_59_001","Loc_RadialVelo_59_001","Loc_AziAngle_59_001","Loc_ElevAngle_59_001","Loc_RCS_59_001","Loc_RadialDist_59_002","Loc_SNR_59_002","Loc_RadialVelo_59_002","Loc_AziAngle_59_002","Loc_ElevAngle_59_002","Loc_RCS_59_002","Loc_RadialDist_59_003","Loc_SNR_59_003","Loc_RadialVelo_59_003","Loc_AziAngle_59_003","Loc_ElevAngle_59_003","Loc_RCS_59_003","Loc_RadialDist_59_004","Loc_SNR_59_004","Loc_RadialVelo_59_004","Loc_AziAngle_59_004","Loc_ElevAngle_59_004","Loc_RCS_59_004","Loc_59_CRC","Loc_59_AliveCtr","Loc_59_Blockcnt","Loc_Validity_59_001","Loc_Validity_59_002","Loc_Validity_59_003","Loc_Validity_59_004","Loc_RadialDistVeloQly_59_001","Loc_AziAngleQly_59_001","Loc_ElevAngleQly_59_001","Loc_RadialDistVeloQly_59_002","Loc_AziAngleQly_59_002","Loc_ElevAngleQly_59_002","Loc_RadialDistVeloQly_59_003","Loc_AziAngleQly_59_003","Loc_ElevAngleQly_59_003","Loc_RadialDistVeloQly_59_004","Loc_AziAngleQly_59_004","Loc_ElevAngleQly_59_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_59_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_59_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_59_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_59_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_59_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_59_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_59_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_59_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_59_pub.publish(radar_list_);
                break;
            };
    
            case (0x558):{
    
                miliwave_msg::RR_Location_Data_58 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_58_001","Loc_SNR_58_001","Loc_RadialVelo_58_001","Loc_AziAngle_58_001","Loc_ElevAngle_58_001","Loc_RCS_58_001","Loc_RadialDist_58_002","Loc_SNR_58_002","Loc_RadialVelo_58_002","Loc_AziAngle_58_002","Loc_ElevAngle_58_002","Loc_RCS_58_002","Loc_RadialDist_58_003","Loc_SNR_58_003","Loc_RadialVelo_58_003","Loc_AziAngle_58_003","Loc_ElevAngle_58_003","Loc_RCS_58_003","Loc_RadialDist_58_004","Loc_SNR_58_004","Loc_RadialVelo_58_004","Loc_AziAngle_58_004","Loc_ElevAngle_58_004","Loc_RCS_58_004","Loc_58_CRC","Loc_58_AliveCtr","Loc_58_Blockcnt","Loc_Validity_58_001","Loc_Validity_58_002","Loc_Validity_58_003","Loc_Validity_58_004","Loc_RadialDistVeloQly_58_001","Loc_AziAngleQly_58_001","Loc_ElevAngleQly_58_001","Loc_RadialDistVeloQly_58_002","Loc_AziAngleQly_58_002","Loc_ElevAngleQly_58_002","Loc_RadialDistVeloQly_58_003","Loc_AziAngleQly_58_003","Loc_ElevAngleQly_58_003","Loc_RadialDistVeloQly_58_004","Loc_AziAngleQly_58_004","Loc_ElevAngleQly_58_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_58_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_58_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_58_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_58_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_58_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_58_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_58_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_58_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_58_pub.publish(radar_list_);
                break;
            };
    
            case (0x557):{
    
                miliwave_msg::RR_Location_Data_57 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_57_001","Loc_SNR_57_001","Loc_RadialVelo_57_001","Loc_AziAngle_57_001","Loc_ElevAngle_57_001","Loc_RCS_57_001","Loc_RadialDist_57_002","Loc_SNR_57_002","Loc_RadialVelo_57_002","Loc_AziAngle_57_002","Loc_ElevAngle_57_002","Loc_RCS_57_002","Loc_RadialDist_57_003","Loc_SNR_57_003","Loc_RadialVelo_57_003","Loc_AziAngle_57_003","Loc_ElevAngle_57_003","Loc_RCS_57_003","Loc_RadialDist_57_004","Loc_SNR_57_004","Loc_RadialVelo_57_004","Loc_AziAngle_57_004","Loc_ElevAngle_57_004","Loc_RCS_57_004","Loc_57_CRC","Loc_57_AliveCtr","Loc_57_Blockcnt","Loc_Validity_57_001","Loc_Validity_57_002","Loc_Validity_57_003","Loc_Validity_57_004","Loc_RadialDistVeloQly_57_001","Loc_AziAngleQly_57_001","Loc_ElevAngleQly_57_001","Loc_RadialDistVeloQly_57_002","Loc_AziAngleQly_57_002","Loc_ElevAngleQly_57_002","Loc_RadialDistVeloQly_57_003","Loc_AziAngleQly_57_003","Loc_ElevAngleQly_57_003","Loc_RadialDistVeloQly_57_004","Loc_AziAngleQly_57_004","Loc_ElevAngleQly_57_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_57_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_57_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_57_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_57_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_57_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_57_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_57_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_57_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_57_pub.publish(radar_list_);
                break;
            };
    
            case (0x556):{
    
                miliwave_msg::RR_Location_Data_56 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_56_001","Loc_SNR_56_001","Loc_RadialVelo_56_001","Loc_AziAngle_56_001","Loc_ElevAngle_56_001","Loc_RCS_56_001","Loc_RadialDist_56_002","Loc_SNR_56_002","Loc_RadialVelo_56_002","Loc_AziAngle_56_002","Loc_ElevAngle_56_002","Loc_RCS_56_002","Loc_RadialDist_56_003","Loc_SNR_56_003","Loc_RadialVelo_56_003","Loc_AziAngle_56_003","Loc_ElevAngle_56_003","Loc_RCS_56_003","Loc_RadialDist_56_004","Loc_SNR_56_004","Loc_RadialVelo_56_004","Loc_AziAngle_56_004","Loc_ElevAngle_56_004","Loc_RCS_56_004","Loc_56_CRC","Loc_56_AliveCtr","Loc_56_Blockcnt","Loc_Validity_56_001","Loc_Validity_56_002","Loc_Validity_56_003","Loc_Validity_56_004","Loc_RadialDistVeloQly_56_001","Loc_AziAngleQly_56_001","Loc_ElevAngleQly_56_001","Loc_RadialDistVeloQly_56_002","Loc_AziAngleQly_56_002","Loc_ElevAngleQly_56_002","Loc_RadialDistVeloQly_56_003","Loc_AziAngleQly_56_003","Loc_ElevAngleQly_56_003","Loc_RadialDistVeloQly_56_004","Loc_AziAngleQly_56_004","Loc_ElevAngleQly_56_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_56_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_56_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_56_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_56_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_56_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_56_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_56_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_56_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_56_pub.publish(radar_list_);
                break;
            };
    
            case (0x555):{
    
                miliwave_msg::RR_Location_Data_55 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_55_001","Loc_SNR_55_001","Loc_RadialVelo_55_001","Loc_AziAngle_55_001","Loc_ElevAngle_55_001","Loc_RCS_55_001","Loc_RadialDist_55_002","Loc_SNR_55_002","Loc_RadialVelo_55_002","Loc_AziAngle_55_002","Loc_ElevAngle_55_002","Loc_RCS_55_002","Loc_RadialDist_55_003","Loc_SNR_55_003","Loc_RadialVelo_55_003","Loc_AziAngle_55_003","Loc_ElevAngle_55_003","Loc_RCS_55_003","Loc_RadialDist_55_004","Loc_SNR_55_004","Loc_RadialVelo_55_004","Loc_AziAngle_55_004","Loc_ElevAngle_55_004","Loc_RCS_55_004","Loc_55_CRC","Loc_55_AliveCtr","Loc_55_Blockcnt","Loc_Validity_55_001","Loc_Validity_55_002","Loc_Validity_55_003","Loc_Validity_55_004","Loc_RadialDistVeloQly_55_001","Loc_AziAngleQly_55_001","Loc_ElevAngleQly_55_001","Loc_RadialDistVeloQly_55_002","Loc_AziAngleQly_55_002","Loc_ElevAngleQly_55_002","Loc_RadialDistVeloQly_55_003","Loc_AziAngleQly_55_003","Loc_ElevAngleQly_55_003","Loc_RadialDistVeloQly_55_004","Loc_AziAngleQly_55_004","Loc_ElevAngleQly_55_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_55_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_55_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_55_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_55_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_55_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_55_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_55_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_55_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_55_pub.publish(radar_list_);
                break;
            };
    
            case (0x554):{
    
                miliwave_msg::RR_Location_Data_54 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_54_001","Loc_SNR_54_001","Loc_RadialVelo_54_001","Loc_AziAngle_54_001","Loc_ElevAngle_54_001","Loc_RCS_54_001","Loc_RadialDist_54_002","Loc_SNR_54_002","Loc_RadialVelo_54_002","Loc_AziAngle_54_002","Loc_ElevAngle_54_002","Loc_RCS_54_002","Loc_RadialDist_54_003","Loc_SNR_54_003","Loc_RadialVelo_54_003","Loc_AziAngle_54_003","Loc_ElevAngle_54_003","Loc_RCS_54_003","Loc_RadialDist_54_004","Loc_SNR_54_004","Loc_RadialVelo_54_004","Loc_AziAngle_54_004","Loc_ElevAngle_54_004","Loc_RCS_54_004","Loc_54_CRC","Loc_54_AliveCtr","Loc_54_Blockcnt","Loc_Validity_54_001","Loc_Validity_54_002","Loc_Validity_54_003","Loc_Validity_54_004","Loc_RadialDistVeloQly_54_001","Loc_AziAngleQly_54_001","Loc_ElevAngleQly_54_001","Loc_RadialDistVeloQly_54_002","Loc_AziAngleQly_54_002","Loc_ElevAngleQly_54_002","Loc_RadialDistVeloQly_54_003","Loc_AziAngleQly_54_003","Loc_ElevAngleQly_54_003","Loc_RadialDistVeloQly_54_004","Loc_AziAngleQly_54_004","Loc_ElevAngleQly_54_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_54_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_54_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_54_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_54_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_54_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_54_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_54_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_54_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_54_pub.publish(radar_list_);
                break;
            };
    
            case (0x553):{
    
                miliwave_msg::RR_Location_Data_53 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_53_001","Loc_SNR_53_001","Loc_RadialVelo_53_001","Loc_AziAngle_53_001","Loc_ElevAngle_53_001","Loc_RCS_53_001","Loc_RadialDist_53_002","Loc_SNR_53_002","Loc_RadialVelo_53_002","Loc_AziAngle_53_002","Loc_ElevAngle_53_002","Loc_RCS_53_002","Loc_RadialDist_53_003","Loc_SNR_53_003","Loc_RadialVelo_53_003","Loc_AziAngle_53_003","Loc_ElevAngle_53_003","Loc_RCS_53_003","Loc_RadialDist_53_004","Loc_SNR_53_004","Loc_RadialVelo_53_004","Loc_AziAngle_53_004","Loc_ElevAngle_53_004","Loc_RCS_53_004","Loc_53_CRC","Loc_53_AliveCtr","Loc_53_Blockcnt","Loc_Validity_53_001","Loc_Validity_53_002","Loc_Validity_53_003","Loc_Validity_53_004","Loc_RadialDistVeloQly_53_001","Loc_AziAngleQly_53_001","Loc_ElevAngleQly_53_001","Loc_RadialDistVeloQly_53_002","Loc_AziAngleQly_53_002","Loc_ElevAngleQly_53_002","Loc_RadialDistVeloQly_53_003","Loc_AziAngleQly_53_003","Loc_ElevAngleQly_53_003","Loc_RadialDistVeloQly_53_004","Loc_AziAngleQly_53_004","Loc_ElevAngleQly_53_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_53_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_53_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_53_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_53_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_53_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_53_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_53_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_53_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_53_pub.publish(radar_list_);
                break;
            };
    
            case (0x552):{
    
                miliwave_msg::RR_Location_Data_52 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_52_001","Loc_SNR_52_001","Loc_RadialVelo_52_001","Loc_AziAngle_52_001","Loc_ElevAngle_52_001","Loc_RCS_52_001","Loc_RadialDist_52_002","Loc_SNR_52_002","Loc_RadialVelo_52_002","Loc_AziAngle_52_002","Loc_ElevAngle_52_002","Loc_RCS_52_002","Loc_RadialDist_52_003","Loc_SNR_52_003","Loc_RadialVelo_52_003","Loc_AziAngle_52_003","Loc_ElevAngle_52_003","Loc_RCS_52_003","Loc_RadialDist_52_004","Loc_SNR_52_004","Loc_RadialVelo_52_004","Loc_AziAngle_52_004","Loc_ElevAngle_52_004","Loc_RCS_52_004","Loc_52_CRC","Loc_52_AliveCtr","Loc_52_Blockcnt","Loc_Validity_52_001","Loc_Validity_52_002","Loc_Validity_52_003","Loc_Validity_52_004","Loc_RadialDistVeloQly_52_001","Loc_AziAngleQly_52_001","Loc_ElevAngleQly_52_001","Loc_RadialDistVeloQly_52_002","Loc_AziAngleQly_52_002","Loc_ElevAngleQly_52_002","Loc_RadialDistVeloQly_52_003","Loc_AziAngleQly_52_003","Loc_ElevAngleQly_52_003","Loc_RadialDistVeloQly_52_004","Loc_AziAngleQly_52_004","Loc_ElevAngleQly_52_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_52_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_52_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_52_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_52_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_52_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_52_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_52_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_52_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_52_pub.publish(radar_list_);
                break;
            };
    
            case (0x551):{
    
                miliwave_msg::RR_Location_Data_51 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_51_001","Loc_SNR_51_001","Loc_RadialVelo_51_001","Loc_AziAngle_51_001","Loc_ElevAngle_51_001","Loc_RCS_51_001","Loc_RadialDist_51_002","Loc_SNR_51_002","Loc_RadialVelo_51_002","Loc_AziAngle_51_002","Loc_ElevAngle_51_002","Loc_RCS_51_002","Loc_RadialDist_51_003","Loc_SNR_51_003","Loc_RadialVelo_51_003","Loc_AziAngle_51_003","Loc_ElevAngle_51_003","Loc_RCS_51_003","Loc_RadialDist_51_004","Loc_SNR_51_004","Loc_RadialVelo_51_004","Loc_AziAngle_51_004","Loc_ElevAngle_51_004","Loc_RCS_51_004","Loc_51_CRC","Loc_51_AliveCtr","Loc_51_Blockcnt","Loc_Validity_51_001","Loc_Validity_51_002","Loc_Validity_51_003","Loc_Validity_51_004","Loc_RadialDistVeloQly_51_001","Loc_AziAngleQly_51_001","Loc_ElevAngleQly_51_001","Loc_RadialDistVeloQly_51_002","Loc_AziAngleQly_51_002","Loc_ElevAngleQly_51_002","Loc_RadialDistVeloQly_51_003","Loc_AziAngleQly_51_003","Loc_ElevAngleQly_51_003","Loc_RadialDistVeloQly_51_004","Loc_AziAngleQly_51_004","Loc_ElevAngleQly_51_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_51_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_51_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_51_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_51_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_51_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_51_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_51_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_51_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_51_pub.publish(radar_list_);
                break;
            };
    
            case (0x550):{
    
                miliwave_msg::RR_Location_Data_50 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_50_001","Loc_SNR_50_001","Loc_RadialVelo_50_001","Loc_AziAngle_50_001","Loc_ElevAngle_50_001","Loc_RCS_50_001","Loc_RadialDist_50_002","Loc_SNR_50_002","Loc_RadialVelo_50_002","Loc_AziAngle_50_002","Loc_ElevAngle_50_002","Loc_RCS_50_002","Loc_RadialDist_50_003","Loc_SNR_50_003","Loc_RadialVelo_50_003","Loc_AziAngle_50_003","Loc_ElevAngle_50_003","Loc_RCS_50_003","Loc_RadialDist_50_004","Loc_SNR_50_004","Loc_RadialVelo_50_004","Loc_AziAngle_50_004","Loc_ElevAngle_50_004","Loc_RCS_50_004","Loc_50_CRC","Loc_50_AliveCtr","Loc_50_Blockcnt","Loc_Validity_50_001","Loc_Validity_50_002","Loc_Validity_50_003","Loc_Validity_50_004","Loc_RadialDistVeloQly_50_001","Loc_AziAngleQly_50_001","Loc_ElevAngleQly_50_001","Loc_RadialDistVeloQly_50_002","Loc_AziAngleQly_50_002","Loc_ElevAngleQly_50_002","Loc_RadialDistVeloQly_50_003","Loc_AziAngleQly_50_003","Loc_ElevAngleQly_50_003","Loc_RadialDistVeloQly_50_004","Loc_AziAngleQly_50_004","Loc_ElevAngleQly_50_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_50_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_50_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_50_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_50_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_50_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_50_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_50_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_50_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_50_pub.publish(radar_list_);
                break;
            };
    
            case (0x549):{
    
                miliwave_msg::RR_Location_Data_49 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_49_001","Loc_SNR_49_001","Loc_RadialVelo_49_001","Loc_AziAngle_49_001","Loc_ElevAngle_49_001","Loc_RCS_49_001","Loc_RadialDist_49_002","Loc_SNR_49_002","Loc_RadialVelo_49_002","Loc_AziAngle_49_002","Loc_ElevAngle_49_002","Loc_RCS_49_002","Loc_RadialDist_49_003","Loc_SNR_49_003","Loc_RadialVelo_49_003","Loc_AziAngle_49_003","Loc_ElevAngle_49_003","Loc_RCS_49_003","Loc_RadialDist_49_004","Loc_SNR_49_004","Loc_RadialVelo_49_004","Loc_AziAngle_49_004","Loc_ElevAngle_49_004","Loc_RCS_49_004","Loc_49_CRC","Loc_49_AliveCtr","Loc_49_Blockcnt","Loc_Validity_49_001","Loc_Validity_49_002","Loc_Validity_49_003","Loc_Validity_49_004","Loc_RadialDistVeloQly_49_001","Loc_AziAngleQly_49_001","Loc_ElevAngleQly_49_001","Loc_RadialDistVeloQly_49_002","Loc_AziAngleQly_49_002","Loc_ElevAngleQly_49_002","Loc_RadialDistVeloQly_49_003","Loc_AziAngleQly_49_003","Loc_ElevAngleQly_49_003","Loc_RadialDistVeloQly_49_004","Loc_AziAngleQly_49_004","Loc_ElevAngleQly_49_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_49_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_49_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_49_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_49_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_49_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_49_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_49_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_49_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_49_pub.publish(radar_list_);
                break;
            };
    
            case (0x548):{
    
                miliwave_msg::RR_Location_Data_48 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_48_001","Loc_SNR_48_001","Loc_RadialVelo_48_001","Loc_AziAngle_48_001","Loc_ElevAngle_48_001","Loc_RCS_48_001","Loc_RadialDist_48_002","Loc_SNR_48_002","Loc_RadialVelo_48_002","Loc_AziAngle_48_002","Loc_ElevAngle_48_002","Loc_RCS_48_002","Loc_RadialDist_48_003","Loc_SNR_48_003","Loc_RadialVelo_48_003","Loc_AziAngle_48_003","Loc_ElevAngle_48_003","Loc_RCS_48_003","Loc_RadialDist_48_004","Loc_SNR_48_004","Loc_RadialVelo_48_004","Loc_AziAngle_48_004","Loc_ElevAngle_48_004","Loc_RCS_48_004","Loc_48_CRC","Loc_48_AliveCtr","Loc_48_Blockcnt","Loc_Validity_48_001","Loc_Validity_48_002","Loc_Validity_48_003","Loc_Validity_48_004","Loc_RadialDistVeloQly_48_001","Loc_AziAngleQly_48_001","Loc_ElevAngleQly_48_001","Loc_RadialDistVeloQly_48_002","Loc_AziAngleQly_48_002","Loc_ElevAngleQly_48_002","Loc_RadialDistVeloQly_48_003","Loc_AziAngleQly_48_003","Loc_ElevAngleQly_48_003","Loc_RadialDistVeloQly_48_004","Loc_AziAngleQly_48_004","Loc_ElevAngleQly_48_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_48_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_48_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_48_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_48_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_48_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_48_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_48_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_48_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_48_pub.publish(radar_list_);
                break;
            };
    
            case (0x547):{
    
                miliwave_msg::RR_Location_Data_47 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_47_001","Loc_SNR_47_001","Loc_RadialVelo_47_001","Loc_AziAngle_47_001","Loc_ElevAngle_47_001","Loc_RCS_47_001","Loc_RadialDist_47_002","Loc_SNR_47_002","Loc_RadialVelo_47_002","Loc_AziAngle_47_002","Loc_ElevAngle_47_002","Loc_RCS_47_002","Loc_RadialDist_47_003","Loc_SNR_47_003","Loc_RadialVelo_47_003","Loc_AziAngle_47_003","Loc_ElevAngle_47_003","Loc_RCS_47_003","Loc_RadialDist_47_004","Loc_SNR_47_004","Loc_RadialVelo_47_004","Loc_AziAngle_47_004","Loc_ElevAngle_47_004","Loc_RCS_47_004","Loc_47_CRC","Loc_47_AliveCtr","Loc_47_Blockcnt","Loc_Validity_47_001","Loc_Validity_47_002","Loc_Validity_47_003","Loc_Validity_47_004","Loc_RadialDistVeloQly_47_001","Loc_AziAngleQly_47_001","Loc_ElevAngleQly_47_001","Loc_RadialDistVeloQly_47_002","Loc_AziAngleQly_47_002","Loc_ElevAngleQly_47_002","Loc_RadialDistVeloQly_47_003","Loc_AziAngleQly_47_003","Loc_ElevAngleQly_47_003","Loc_RadialDistVeloQly_47_004","Loc_AziAngleQly_47_004","Loc_ElevAngleQly_47_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_47_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_47_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_47_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_47_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_47_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_47_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_47_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_47_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_47_pub.publish(radar_list_);
                break;
            };
    
            case (0x546):{
    
                miliwave_msg::RR_Location_Data_46 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_46_001","Loc_SNR_46_001","Loc_RadialVelo_46_001","Loc_AziAngle_46_001","Loc_ElevAngle_46_001","Loc_RCS_46_001","Loc_RadialDist_46_002","Loc_SNR_46_002","Loc_RadialVelo_46_002","Loc_AziAngle_46_002","Loc_ElevAngle_46_002","Loc_RCS_46_002","Loc_RadialDist_46_003","Loc_SNR_46_003","Loc_RadialVelo_46_003","Loc_AziAngle_46_003","Loc_ElevAngle_46_003","Loc_RCS_46_003","Loc_RadialDist_46_004","Loc_SNR_46_004","Loc_RadialVelo_46_004","Loc_AziAngle_46_004","Loc_ElevAngle_46_004","Loc_RCS_46_004","Loc_46_CRC","Loc_46_AliveCtr","Loc_46_Blockcnt","Loc_Validity_46_001","Loc_Validity_46_002","Loc_Validity_46_003","Loc_Validity_46_004","Loc_RadialDistVeloQly_46_001","Loc_AziAngleQly_46_001","Loc_ElevAngleQly_46_001","Loc_RadialDistVeloQly_46_002","Loc_AziAngleQly_46_002","Loc_ElevAngleQly_46_002","Loc_RadialDistVeloQly_46_003","Loc_AziAngleQly_46_003","Loc_ElevAngleQly_46_003","Loc_RadialDistVeloQly_46_004","Loc_AziAngleQly_46_004","Loc_ElevAngleQly_46_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_46_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_46_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_46_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_46_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_46_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_46_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_46_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_46_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_46_pub.publish(radar_list_);
                break;
            };
    
            case (0x545):{
    
                miliwave_msg::RR_Location_Data_45 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_45_001","Loc_SNR_45_001","Loc_RadialVelo_45_001","Loc_AziAngle_45_001","Loc_ElevAngle_45_001","Loc_RCS_45_001","Loc_RadialDist_45_002","Loc_SNR_45_002","Loc_RadialVelo_45_002","Loc_AziAngle_45_002","Loc_ElevAngle_45_002","Loc_RCS_45_002","Loc_RadialDist_45_003","Loc_SNR_45_003","Loc_RadialVelo_45_003","Loc_AziAngle_45_003","Loc_ElevAngle_45_003","Loc_RCS_45_003","Loc_RadialDist_45_004","Loc_SNR_45_004","Loc_RadialVelo_45_004","Loc_AziAngle_45_004","Loc_ElevAngle_45_004","Loc_RCS_45_004","Loc_45_CRC","Loc_45_AliveCtr","Loc_45_Blockcnt","Loc_Validity_45_001","Loc_Validity_45_002","Loc_Validity_45_003","Loc_Validity_45_004","Loc_RadialDistVeloQly_45_001","Loc_AziAngleQly_45_001","Loc_ElevAngleQly_45_001","Loc_RadialDistVeloQly_45_002","Loc_AziAngleQly_45_002","Loc_ElevAngleQly_45_002","Loc_RadialDistVeloQly_45_003","Loc_AziAngleQly_45_003","Loc_ElevAngleQly_45_003","Loc_RadialDistVeloQly_45_004","Loc_AziAngleQly_45_004","Loc_ElevAngleQly_45_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_45_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_45_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_45_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_45_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_45_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_45_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_45_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_45_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_45_pub.publish(radar_list_);
                break;
            };
    
            case (0x544):{
    
                miliwave_msg::RR_Location_Data_44 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_44_001","Loc_SNR_44_001","Loc_RadialVelo_44_001","Loc_AziAngle_44_001","Loc_ElevAngle_44_001","Loc_RCS_44_001","Loc_RadialDist_44_002","Loc_SNR_44_002","Loc_RadialVelo_44_002","Loc_AziAngle_44_002","Loc_ElevAngle_44_002","Loc_RCS_44_002","Loc_RadialDist_44_003","Loc_SNR_44_003","Loc_RadialVelo_44_003","Loc_AziAngle_44_003","Loc_ElevAngle_44_003","Loc_RCS_44_003","Loc_RadialDist_44_004","Loc_SNR_44_004","Loc_RadialVelo_44_004","Loc_AziAngle_44_004","Loc_ElevAngle_44_004","Loc_RCS_44_004","Loc_44_CRC","Loc_44_AliveCtr","Loc_44_Blockcnt","Loc_Validity_44_001","Loc_Validity_44_002","Loc_Validity_44_003","Loc_Validity_44_004","Loc_RadialDistVeloQly_44_001","Loc_AziAngleQly_44_001","Loc_ElevAngleQly_44_001","Loc_RadialDistVeloQly_44_002","Loc_AziAngleQly_44_002","Loc_ElevAngleQly_44_002","Loc_RadialDistVeloQly_44_003","Loc_AziAngleQly_44_003","Loc_ElevAngleQly_44_003","Loc_RadialDistVeloQly_44_004","Loc_AziAngleQly_44_004","Loc_ElevAngleQly_44_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_44_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_44_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_44_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_44_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_44_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_44_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_44_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_44_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_44_pub.publish(radar_list_);
                break;
            };
    
            case (0x543):{
    
                miliwave_msg::RR_Location_Data_43 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_43_001","Loc_SNR_43_001","Loc_RadialVelo_43_001","Loc_AziAngle_43_001","Loc_ElevAngle_43_001","Loc_RCS_43_001","Loc_RadialDist_43_002","Loc_SNR_43_002","Loc_RadialVelo_43_002","Loc_AziAngle_43_002","Loc_ElevAngle_43_002","Loc_RCS_43_002","Loc_RadialDist_43_003","Loc_SNR_43_003","Loc_RadialVelo_43_003","Loc_AziAngle_43_003","Loc_ElevAngle_43_003","Loc_RCS_43_003","Loc_RadialDist_43_004","Loc_SNR_43_004","Loc_RadialVelo_43_004","Loc_AziAngle_43_004","Loc_ElevAngle_43_004","Loc_RCS_43_004","Loc_43_CRC","Loc_43_AliveCtr","Loc_43_Blockcnt","Loc_Validity_43_001","Loc_Validity_43_002","Loc_Validity_43_003","Loc_Validity_43_004","Loc_RadialDistVeloQly_43_001","Loc_AziAngleQly_43_001","Loc_ElevAngleQly_43_001","Loc_RadialDistVeloQly_43_002","Loc_AziAngleQly_43_002","Loc_ElevAngleQly_43_002","Loc_RadialDistVeloQly_43_003","Loc_AziAngleQly_43_003","Loc_ElevAngleQly_43_003","Loc_RadialDistVeloQly_43_004","Loc_AziAngleQly_43_004","Loc_ElevAngleQly_43_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_43_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_43_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_43_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_43_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_43_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_43_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_43_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_43_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_43_pub.publish(radar_list_);
                break;
            };
    
            case (0x542):{
    
                miliwave_msg::RR_Location_Data_42 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_42_001","Loc_SNR_42_001","Loc_RadialVelo_42_001","Loc_AziAngle_42_001","Loc_ElevAngle_42_001","Loc_RCS_42_001","Loc_RadialDist_42_002","Loc_SNR_42_002","Loc_RadialVelo_42_002","Loc_AziAngle_42_002","Loc_ElevAngle_42_002","Loc_RCS_42_002","Loc_RadialDist_42_003","Loc_SNR_42_003","Loc_RadialVelo_42_003","Loc_AziAngle_42_003","Loc_ElevAngle_42_003","Loc_RCS_42_003","Loc_RadialDist_42_004","Loc_SNR_42_004","Loc_RadialVelo_42_004","Loc_AziAngle_42_004","Loc_ElevAngle_42_004","Loc_RCS_42_004","Loc_42_CRC","Loc_42_AliveCtr","Loc_42_Blockcnt","Loc_Validity_42_001","Loc_Validity_42_002","Loc_Validity_42_003","Loc_Validity_42_004","Loc_RadialDistVeloQly_42_001","Loc_AziAngleQly_42_001","Loc_ElevAngleQly_42_001","Loc_RadialDistVeloQly_42_002","Loc_AziAngleQly_42_002","Loc_ElevAngleQly_42_002","Loc_RadialDistVeloQly_42_003","Loc_AziAngleQly_42_003","Loc_ElevAngleQly_42_003","Loc_RadialDistVeloQly_42_004","Loc_AziAngleQly_42_004","Loc_ElevAngleQly_42_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_42_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_42_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_42_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_42_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_42_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_42_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_42_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_42_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_42_pub.publish(radar_list_);
                break;
            };
    
            case (0x541):{
    
                miliwave_msg::RR_Location_Data_41 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_41_001","Loc_SNR_41_001","Loc_RadialVelo_41_001","Loc_AziAngle_41_001","Loc_ElevAngle_41_001","Loc_RCS_41_001","Loc_RadialDist_41_002","Loc_SNR_41_002","Loc_RadialVelo_41_002","Loc_AziAngle_41_002","Loc_ElevAngle_41_002","Loc_RCS_41_002","Loc_RadialDist_41_003","Loc_SNR_41_003","Loc_RadialVelo_41_003","Loc_AziAngle_41_003","Loc_ElevAngle_41_003","Loc_RCS_41_003","Loc_RadialDist_41_004","Loc_SNR_41_004","Loc_RadialVelo_41_004","Loc_AziAngle_41_004","Loc_ElevAngle_41_004","Loc_RCS_41_004","Loc_41_CRC","Loc_41_AliveCtr","Loc_41_Blockcnt","Loc_Validity_41_001","Loc_Validity_41_002","Loc_Validity_41_003","Loc_Validity_41_004","Loc_RadialDistVeloQly_41_001","Loc_AziAngleQly_41_001","Loc_ElevAngleQly_41_001","Loc_RadialDistVeloQly_41_002","Loc_AziAngleQly_41_002","Loc_ElevAngleQly_41_002","Loc_RadialDistVeloQly_41_003","Loc_AziAngleQly_41_003","Loc_ElevAngleQly_41_003","Loc_RadialDistVeloQly_41_004","Loc_AziAngleQly_41_004","Loc_ElevAngleQly_41_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_41_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_41_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_41_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_41_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_41_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_41_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_41_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_41_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_41_pub.publish(radar_list_);
                break;
            };
    
            case (0x540):{
    
                miliwave_msg::RR_Location_Data_40 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_40_001","Loc_SNR_40_001","Loc_RadialVelo_40_001","Loc_AziAngle_40_001","Loc_ElevAngle_40_001","Loc_RCS_40_001","Loc_RadialDist_40_002","Loc_SNR_40_002","Loc_RadialVelo_40_002","Loc_AziAngle_40_002","Loc_ElevAngle_40_002","Loc_RCS_40_002","Loc_RadialDist_40_003","Loc_SNR_40_003","Loc_RadialVelo_40_003","Loc_AziAngle_40_003","Loc_ElevAngle_40_003","Loc_RCS_40_003","Loc_RadialDist_40_004","Loc_SNR_40_004","Loc_RadialVelo_40_004","Loc_AziAngle_40_004","Loc_ElevAngle_40_004","Loc_RCS_40_004","Loc_40_CRC","Loc_40_AliveCtr","Loc_40_Blockcnt","Loc_Validity_40_001","Loc_Validity_40_002","Loc_Validity_40_003","Loc_Validity_40_004","Loc_RadialDistVeloQly_40_001","Loc_AziAngleQly_40_001","Loc_ElevAngleQly_40_001","Loc_RadialDistVeloQly_40_002","Loc_AziAngleQly_40_002","Loc_ElevAngleQly_40_002","Loc_RadialDistVeloQly_40_003","Loc_AziAngleQly_40_003","Loc_ElevAngleQly_40_003","Loc_RadialDistVeloQly_40_004","Loc_AziAngleQly_40_004","Loc_ElevAngleQly_40_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_40_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_40_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_40_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_40_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_40_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_40_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_40_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_40_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_40_pub.publish(radar_list_);
                break;
            };
    
            case (0x539):{
    
                miliwave_msg::RR_Location_Data_39 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_39_001","Loc_SNR_39_001","Loc_RadialVelo_39_001","Loc_AziAngle_39_001","Loc_ElevAngle_39_001","Loc_RCS_39_001","Loc_RadialDist_39_002","Loc_SNR_39_002","Loc_RadialVelo_39_002","Loc_AziAngle_39_002","Loc_ElevAngle_39_002","Loc_RCS_39_002","Loc_RadialDist_39_003","Loc_SNR_39_003","Loc_RadialVelo_39_003","Loc_AziAngle_39_003","Loc_ElevAngle_39_003","Loc_RCS_39_003","Loc_RadialDist_39_004","Loc_SNR_39_004","Loc_RadialVelo_39_004","Loc_AziAngle_39_004","Loc_ElevAngle_39_004","Loc_RCS_39_004","Loc_39_CRC","Loc_39_AliveCtr","Loc_39_Blockcnt","Loc_Validity_39_001","Loc_Validity_39_002","Loc_Validity_39_003","Loc_Validity_39_004","Loc_RadialDistVeloQly_39_001","Loc_AziAngleQly_39_001","Loc_ElevAngleQly_39_001","Loc_RadialDistVeloQly_39_002","Loc_AziAngleQly_39_002","Loc_ElevAngleQly_39_002","Loc_RadialDistVeloQly_39_003","Loc_AziAngleQly_39_003","Loc_ElevAngleQly_39_003","Loc_RadialDistVeloQly_39_004","Loc_AziAngleQly_39_004","Loc_ElevAngleQly_39_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_39_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_39_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_39_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_39_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_39_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_39_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_39_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_39_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_39_pub.publish(radar_list_);
                break;
            };
    
            case (0x538):{
    
                miliwave_msg::RR_Location_Data_38 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_38_001","Loc_SNR_38_001","Loc_RadialVelo_38_001","Loc_AziAngle_38_001","Loc_ElevAngle_38_001","Loc_RCS_38_001","Loc_RadialDist_38_002","Loc_SNR_38_002","Loc_RadialVelo_38_002","Loc_AziAngle_38_002","Loc_ElevAngle_38_002","Loc_RCS_38_002","Loc_RadialDist_38_003","Loc_SNR_38_003","Loc_RadialVelo_38_003","Loc_AziAngle_38_003","Loc_ElevAngle_38_003","Loc_RCS_38_003","Loc_RadialDist_38_004","Loc_SNR_38_004","Loc_RadialVelo_38_004","Loc_AziAngle_38_004","Loc_ElevAngle_38_004","Loc_RCS_38_004","Loc_38_CRC","Loc_38_AliveCtr","Loc_38_Blockcnt","Loc_Validity_38_001","Loc_Validity_38_002","Loc_Validity_38_003","Loc_Validity_38_004","Loc_RadialDistVeloQly_38_001","Loc_AziAngleQly_38_001","Loc_ElevAngleQly_38_001","Loc_RadialDistVeloQly_38_002","Loc_AziAngleQly_38_002","Loc_ElevAngleQly_38_002","Loc_RadialDistVeloQly_38_003","Loc_AziAngleQly_38_003","Loc_ElevAngleQly_38_003","Loc_RadialDistVeloQly_38_004","Loc_AziAngleQly_38_004","Loc_ElevAngleQly_38_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_38_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_38_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_38_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_38_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_38_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_38_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_38_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_38_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_38_pub.publish(radar_list_);
                break;
            };
    
            case (0x537):{
    
                miliwave_msg::RR_Location_Data_37 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_37_001","Loc_SNR_37_001","Loc_RadialVelo_37_001","Loc_AziAngle_37_001","Loc_ElevAngle_37_001","Loc_RCS_37_001","Loc_RadialDist_37_002","Loc_SNR_37_002","Loc_RadialVelo_37_002","Loc_AziAngle_37_002","Loc_ElevAngle_37_002","Loc_RCS_37_002","Loc_RadialDist_37_003","Loc_SNR_37_003","Loc_RadialVelo_37_003","Loc_AziAngle_37_003","Loc_ElevAngle_37_003","Loc_RCS_37_003","Loc_RadialDist_37_004","Loc_SNR_37_004","Loc_RadialVelo_37_004","Loc_AziAngle_37_004","Loc_ElevAngle_37_004","Loc_RCS_37_004","Loc_37_CRC","Loc_37_AliveCtr","Loc_37_Blockcnt","Loc_Validity_37_001","Loc_Validity_37_002","Loc_Validity_37_003","Loc_Validity_37_004","Loc_RadialDistVeloQly_37_001","Loc_AziAngleQly_37_001","Loc_ElevAngleQly_37_001","Loc_RadialDistVeloQly_37_002","Loc_AziAngleQly_37_002","Loc_ElevAngleQly_37_002","Loc_RadialDistVeloQly_37_003","Loc_AziAngleQly_37_003","Loc_ElevAngleQly_37_003","Loc_RadialDistVeloQly_37_004","Loc_AziAngleQly_37_004","Loc_ElevAngleQly_37_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_37_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_37_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_37_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_37_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_37_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_37_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_37_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_37_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_37_pub.publish(radar_list_);
                break;
            };
    
            case (0x536):{
    
                miliwave_msg::RR_Location_Data_36 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_36_001","Loc_SNR_36_001","Loc_RadialVelo_36_001","Loc_AziAngle_36_001","Loc_ElevAngle_36_001","Loc_RCS_36_001","Loc_RadialDist_36_002","Loc_SNR_36_002","Loc_RadialVelo_36_002","Loc_AziAngle_36_002","Loc_ElevAngle_36_002","Loc_RCS_36_002","Loc_RadialDist_36_003","Loc_SNR_36_003","Loc_RadialVelo_36_003","Loc_AziAngle_36_003","Loc_ElevAngle_36_003","Loc_RCS_36_003","Loc_RadialDist_36_004","Loc_SNR_36_004","Loc_RadialVelo_36_004","Loc_AziAngle_36_004","Loc_ElevAngle_36_004","Loc_RCS_36_004","Loc_36_CRC","Loc_36_AliveCtr","Loc_36_Blockcnt","Loc_Validity_36_001","Loc_Validity_36_002","Loc_Validity_36_003","Loc_Validity_36_004","Loc_RadialDistVeloQly_36_001","Loc_AziAngleQly_36_001","Loc_ElevAngleQly_36_001","Loc_RadialDistVeloQly_36_002","Loc_AziAngleQly_36_002","Loc_ElevAngleQly_36_002","Loc_RadialDistVeloQly_36_003","Loc_AziAngleQly_36_003","Loc_ElevAngleQly_36_003","Loc_RadialDistVeloQly_36_004","Loc_AziAngleQly_36_004","Loc_ElevAngleQly_36_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_36_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_36_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_36_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_36_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_36_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_36_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_36_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_36_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_36_pub.publish(radar_list_);
                break;
            };
    
            case (0x535):{
    
                miliwave_msg::RR_Location_Data_35 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_35_001","Loc_SNR_35_001","Loc_RadialVelo_35_001","Loc_AziAngle_35_001","Loc_ElevAngle_35_001","Loc_RCS_35_001","Loc_RadialDist_35_002","Loc_SNR_35_002","Loc_RadialVelo_35_002","Loc_AziAngle_35_002","Loc_ElevAngle_35_002","Loc_RCS_35_002","Loc_RadialDist_35_003","Loc_SNR_35_003","Loc_RadialVelo_35_003","Loc_AziAngle_35_003","Loc_ElevAngle_35_003","Loc_RCS_35_003","Loc_RadialDist_35_004","Loc_SNR_35_004","Loc_RadialVelo_35_004","Loc_AziAngle_35_004","Loc_ElevAngle_35_004","Loc_RCS_35_004","Loc_35_CRC","Loc_35_AliveCtr","Loc_35_Blockcnt","Loc_Validity_35_001","Loc_Validity_35_002","Loc_Validity_35_003","Loc_Validity_35_004","Loc_RadialDistVeloQly_35_001","Loc_AziAngleQly_35_001","Loc_ElevAngleQly_35_001","Loc_RadialDistVeloQly_35_002","Loc_AziAngleQly_35_002","Loc_ElevAngleQly_35_002","Loc_RadialDistVeloQly_35_003","Loc_AziAngleQly_35_003","Loc_ElevAngleQly_35_003","Loc_RadialDistVeloQly_35_004","Loc_AziAngleQly_35_004","Loc_ElevAngleQly_35_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_35_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_35_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_35_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_35_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_35_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_35_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_35_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_35_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_35_pub.publish(radar_list_);
                break;
            };
    
            case (0x534):{
    
                miliwave_msg::RR_Location_Data_34 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_34_001","Loc_SNR_34_001","Loc_RadialVelo_34_001","Loc_AziAngle_34_001","Loc_ElevAngle_34_001","Loc_RCS_34_001","Loc_RadialDist_34_002","Loc_SNR_34_002","Loc_RadialVelo_34_002","Loc_AziAngle_34_002","Loc_ElevAngle_34_002","Loc_RCS_34_002","Loc_RadialDist_34_003","Loc_SNR_34_003","Loc_RadialVelo_34_003","Loc_AziAngle_34_003","Loc_ElevAngle_34_003","Loc_RCS_34_003","Loc_RadialDist_34_004","Loc_SNR_34_004","Loc_RadialVelo_34_004","Loc_AziAngle_34_004","Loc_ElevAngle_34_004","Loc_RCS_34_004","Loc_34_CRC","Loc_34_AliveCtr","Loc_34_Blockcnt","Loc_Validity_34_001","Loc_Validity_34_002","Loc_Validity_34_003","Loc_Validity_34_004","Loc_RadialDistVeloQly_34_001","Loc_AziAngleQly_34_001","Loc_ElevAngleQly_34_001","Loc_RadialDistVeloQly_34_002","Loc_AziAngleQly_34_002","Loc_ElevAngleQly_34_002","Loc_RadialDistVeloQly_34_003","Loc_AziAngleQly_34_003","Loc_ElevAngleQly_34_003","Loc_RadialDistVeloQly_34_004","Loc_AziAngleQly_34_004","Loc_ElevAngleQly_34_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_34_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_34_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_34_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_34_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_34_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_34_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_34_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_34_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_34_pub.publish(radar_list_);
                break;
            };
    
            case (0x533):{
    
                miliwave_msg::RR_Location_Data_33 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_33_001","Loc_SNR_33_001","Loc_RadialVelo_33_001","Loc_AziAngle_33_001","Loc_ElevAngle_33_001","Loc_RCS_33_001","Loc_RadialDist_33_002","Loc_SNR_33_002","Loc_RadialVelo_33_002","Loc_AziAngle_33_002","Loc_ElevAngle_33_002","Loc_RCS_33_002","Loc_RadialDist_33_003","Loc_SNR_33_003","Loc_RadialVelo_33_003","Loc_AziAngle_33_003","Loc_ElevAngle_33_003","Loc_RCS_33_003","Loc_RadialDist_33_004","Loc_SNR_33_004","Loc_RadialVelo_33_004","Loc_AziAngle_33_004","Loc_ElevAngle_33_004","Loc_RCS_33_004","Loc_33_CRC","Loc_33_AliveCtr","Loc_33_Blockcnt","Loc_Validity_33_001","Loc_Validity_33_002","Loc_Validity_33_003","Loc_Validity_33_004","Loc_RadialDistVeloQly_33_001","Loc_AziAngleQly_33_001","Loc_ElevAngleQly_33_001","Loc_RadialDistVeloQly_33_002","Loc_AziAngleQly_33_002","Loc_ElevAngleQly_33_002","Loc_RadialDistVeloQly_33_003","Loc_AziAngleQly_33_003","Loc_ElevAngleQly_33_003","Loc_RadialDistVeloQly_33_004","Loc_AziAngleQly_33_004","Loc_ElevAngleQly_33_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_33_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_33_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_33_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_33_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_33_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_33_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_33_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_33_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_33_pub.publish(radar_list_);
                break;
            };
    
            case (0x532):{
    
                miliwave_msg::RR_Location_Data_32 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_32_001","Loc_SNR_32_001","Loc_RadialVelo_32_001","Loc_AziAngle_32_001","Loc_ElevAngle_32_001","Loc_RCS_32_001","Loc_RadialDist_32_002","Loc_SNR_32_002","Loc_RadialVelo_32_002","Loc_AziAngle_32_002","Loc_ElevAngle_32_002","Loc_RCS_32_002","Loc_RadialDist_32_003","Loc_SNR_32_003","Loc_RadialVelo_32_003","Loc_AziAngle_32_003","Loc_ElevAngle_32_003","Loc_RCS_32_003","Loc_RadialDist_32_004","Loc_SNR_32_004","Loc_RadialVelo_32_004","Loc_AziAngle_32_004","Loc_ElevAngle_32_004","Loc_RCS_32_004","Loc_32_CRC","Loc_32_AliveCtr","Loc_32_Blockcnt","Loc_Validity_32_001","Loc_Validity_32_002","Loc_Validity_32_003","Loc_Validity_32_004","Loc_RadialDistVeloQly_32_001","Loc_AziAngleQly_32_001","Loc_ElevAngleQly_32_001","Loc_RadialDistVeloQly_32_002","Loc_AziAngleQly_32_002","Loc_ElevAngleQly_32_002","Loc_RadialDistVeloQly_32_003","Loc_AziAngleQly_32_003","Loc_ElevAngleQly_32_003","Loc_RadialDistVeloQly_32_004","Loc_AziAngleQly_32_004","Loc_ElevAngleQly_32_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_32_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_32_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_32_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_32_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_32_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_32_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_32_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_32_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_32_pub.publish(radar_list_);
                break;
            };
    
            case (0x531):{
    
                miliwave_msg::RR_Location_Data_31 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_31_001","Loc_SNR_31_001","Loc_RadialVelo_31_001","Loc_AziAngle_31_001","Loc_ElevAngle_31_001","Loc_RCS_31_001","Loc_RadialDist_31_002","Loc_SNR_31_002","Loc_RadialVelo_31_002","Loc_AziAngle_31_002","Loc_ElevAngle_31_002","Loc_RCS_31_002","Loc_RadialDist_31_003","Loc_SNR_31_003","Loc_RadialVelo_31_003","Loc_AziAngle_31_003","Loc_ElevAngle_31_003","Loc_RCS_31_003","Loc_RadialDist_31_004","Loc_SNR_31_004","Loc_RadialVelo_31_004","Loc_AziAngle_31_004","Loc_ElevAngle_31_004","Loc_RCS_31_004","Loc_31_CRC","Loc_31_AliveCtr","Loc_31_Blockcnt","Loc_Validity_31_001","Loc_Validity_31_002","Loc_Validity_31_003","Loc_Validity_31_004","Loc_RadialDistVeloQly_31_001","Loc_AziAngleQly_31_001","Loc_ElevAngleQly_31_001","Loc_RadialDistVeloQly_31_002","Loc_AziAngleQly_31_002","Loc_ElevAngleQly_31_002","Loc_RadialDistVeloQly_31_003","Loc_AziAngleQly_31_003","Loc_ElevAngleQly_31_003","Loc_RadialDistVeloQly_31_004","Loc_AziAngleQly_31_004","Loc_ElevAngleQly_31_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_31_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_31_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_31_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_31_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_31_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_31_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_31_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_31_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_31_pub.publish(radar_list_);
                break;
            };
    
            case (0x530):{
    
                miliwave_msg::RR_Location_Data_30 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_30_001","Loc_SNR_30_001","Loc_RadialVelo_30_001","Loc_AziAngle_30_001","Loc_ElevAngle_30_001","Loc_RCS_30_001","Loc_RadialDist_30_002","Loc_SNR_30_002","Loc_RadialVelo_30_002","Loc_AziAngle_30_002","Loc_ElevAngle_30_002","Loc_RCS_30_002","Loc_RadialDist_30_003","Loc_SNR_30_003","Loc_RadialVelo_30_003","Loc_AziAngle_30_003","Loc_ElevAngle_30_003","Loc_RCS_30_003","Loc_RadialDist_30_004","Loc_SNR_30_004","Loc_RadialVelo_30_004","Loc_AziAngle_30_004","Loc_ElevAngle_30_004","Loc_RCS_30_004","Loc_30_CRC","Loc_30_AliveCtr","Loc_30_Blockcnt","Loc_Validity_30_001","Loc_Validity_30_002","Loc_Validity_30_003","Loc_Validity_30_004","Loc_RadialDistVeloQly_30_001","Loc_AziAngleQly_30_001","Loc_ElevAngleQly_30_001","Loc_RadialDistVeloQly_30_002","Loc_AziAngleQly_30_002","Loc_ElevAngleQly_30_002","Loc_RadialDistVeloQly_30_003","Loc_AziAngleQly_30_003","Loc_ElevAngleQly_30_003","Loc_RadialDistVeloQly_30_004","Loc_AziAngleQly_30_004","Loc_ElevAngleQly_30_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_30_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_30_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_30_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_30_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_30_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_30_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_30_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_30_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_30_pub.publish(radar_list_);
                break;
            };
    
            case (0x529):{
    
                miliwave_msg::RR_Location_Data_29 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_29_001","Loc_SNR_29_001","Loc_RadialVelo_29_001","Loc_AziAngle_29_001","Loc_ElevAngle_29_001","Loc_RCS_29_001","Loc_RadialDist_29_002","Loc_SNR_29_002","Loc_RadialVelo_29_002","Loc_AziAngle_29_002","Loc_ElevAngle_29_002","Loc_RCS_29_002","Loc_RadialDist_29_003","Loc_SNR_29_003","Loc_RadialVelo_29_003","Loc_AziAngle_29_003","Loc_ElevAngle_29_003","Loc_RCS_29_003","Loc_RadialDist_29_004","Loc_SNR_29_004","Loc_RadialVelo_29_004","Loc_AziAngle_29_004","Loc_ElevAngle_29_004","Loc_RCS_29_004","Loc_29_CRC","Loc_29_AliveCtr","Loc_29_Blockcnt","Loc_Validity_29_001","Loc_Validity_29_002","Loc_Validity_29_003","Loc_Validity_29_004","Loc_RadialDistVeloQly_29_001","Loc_AziAngleQly_29_001","Loc_ElevAngleQly_29_001","Loc_RadialDistVeloQly_29_002","Loc_AziAngleQly_29_002","Loc_ElevAngleQly_29_002","Loc_RadialDistVeloQly_29_003","Loc_AziAngleQly_29_003","Loc_ElevAngleQly_29_003","Loc_RadialDistVeloQly_29_004","Loc_AziAngleQly_29_004","Loc_ElevAngleQly_29_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_29_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_29_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_29_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_29_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_29_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_29_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_29_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_29_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_29_pub.publish(radar_list_);
                break;
            };
    
            case (0x528):{
    
                miliwave_msg::RR_Location_Data_28 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_28_001","Loc_SNR_28_001","Loc_RadialVelo_28_001","Loc_AziAngle_28_001","Loc_ElevAngle_28_001","Loc_RCS_28_001","Loc_RadialDist_28_002","Loc_SNR_28_002","Loc_RadialVelo_28_002","Loc_AziAngle_28_002","Loc_ElevAngle_28_002","Loc_RCS_28_002","Loc_RadialDist_28_003","Loc_SNR_28_003","Loc_RadialVelo_28_003","Loc_AziAngle_28_003","Loc_ElevAngle_28_003","Loc_RCS_28_003","Loc_RadialDist_28_004","Loc_SNR_28_004","Loc_RadialVelo_28_004","Loc_AziAngle_28_004","Loc_ElevAngle_28_004","Loc_RCS_28_004","Loc_28_CRC","Loc_28_AliveCtr","Loc_28_Blockcnt","Loc_Validity_28_001","Loc_Validity_28_002","Loc_Validity_28_003","Loc_Validity_28_004","Loc_RadialDistVeloQly_28_001","Loc_AziAngleQly_28_001","Loc_ElevAngleQly_28_001","Loc_RadialDistVeloQly_28_002","Loc_AziAngleQly_28_002","Loc_ElevAngleQly_28_002","Loc_RadialDistVeloQly_28_003","Loc_AziAngleQly_28_003","Loc_ElevAngleQly_28_003","Loc_RadialDistVeloQly_28_004","Loc_AziAngleQly_28_004","Loc_ElevAngleQly_28_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_28_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_28_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_28_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_28_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_28_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_28_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_28_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_28_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_28_pub.publish(radar_list_);
                break;
            };
    
            case (0x527):{
    
                miliwave_msg::RR_Location_Data_27 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_27_001","Loc_SNR_27_001","Loc_RadialVelo_27_001","Loc_AziAngle_27_001","Loc_ElevAngle_27_001","Loc_RCS_27_001","Loc_RadialDist_27_002","Loc_SNR_27_002","Loc_RadialVelo_27_002","Loc_AziAngle_27_002","Loc_ElevAngle_27_002","Loc_RCS_27_002","Loc_RadialDist_27_003","Loc_SNR_27_003","Loc_RadialVelo_27_003","Loc_AziAngle_27_003","Loc_ElevAngle_27_003","Loc_RCS_27_003","Loc_RadialDist_27_004","Loc_SNR_27_004","Loc_RadialVelo_27_004","Loc_AziAngle_27_004","Loc_ElevAngle_27_004","Loc_RCS_27_004","Loc_27_CRC","Loc_27_AliveCtr","Loc_27_Blockcnt","Loc_Validity_27_001","Loc_Validity_27_002","Loc_Validity_27_003","Loc_Validity_27_004","Loc_RadialDistVeloQly_27_001","Loc_AziAngleQly_27_001","Loc_ElevAngleQly_27_001","Loc_RadialDistVeloQly_27_002","Loc_AziAngleQly_27_002","Loc_ElevAngleQly_27_002","Loc_RadialDistVeloQly_27_003","Loc_AziAngleQly_27_003","Loc_ElevAngleQly_27_003","Loc_RadialDistVeloQly_27_004","Loc_AziAngleQly_27_004","Loc_ElevAngleQly_27_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_27_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_27_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_27_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_27_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_27_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_27_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_27_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_27_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_27_pub.publish(radar_list_);
                break;
            };
    
            case (0x526):{
    
                miliwave_msg::RR_Location_Data_26 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_26_001","Loc_SNR_26_001","Loc_RadialVelo_26_001","Loc_AziAngle_26_001","Loc_ElevAngle_26_001","Loc_RCS_26_001","Loc_RadialDist_26_002","Loc_SNR_26_002","Loc_RadialVelo_26_002","Loc_AziAngle_26_002","Loc_ElevAngle_26_002","Loc_RCS_26_002","Loc_RadialDist_26_003","Loc_SNR_26_003","Loc_RadialVelo_26_003","Loc_AziAngle_26_003","Loc_ElevAngle_26_003","Loc_RCS_26_003","Loc_RadialDist_26_004","Loc_SNR_26_004","Loc_RadialVelo_26_004","Loc_AziAngle_26_004","Loc_ElevAngle_26_004","Loc_RCS_26_004","Loc_26_CRC","Loc_26_AliveCtr","Loc_26_Blockcnt","Loc_Validity_26_001","Loc_Validity_26_002","Loc_Validity_26_003","Loc_Validity_26_004","Loc_RadialDistVeloQly_26_001","Loc_AziAngleQly_26_001","Loc_ElevAngleQly_26_001","Loc_RadialDistVeloQly_26_002","Loc_AziAngleQly_26_002","Loc_ElevAngleQly_26_002","Loc_RadialDistVeloQly_26_003","Loc_AziAngleQly_26_003","Loc_ElevAngleQly_26_003","Loc_RadialDistVeloQly_26_004","Loc_AziAngleQly_26_004","Loc_ElevAngleQly_26_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_26_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_26_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_26_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_26_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_26_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_26_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_26_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_26_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_26_pub.publish(radar_list_);
                break;
            };
    
            case (0x525):{
    
                miliwave_msg::RR_Location_Data_25 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_25_001","Loc_SNR_25_001","Loc_RadialVelo_25_001","Loc_AziAngle_25_001","Loc_ElevAngle_25_001","Loc_RCS_25_001","Loc_RadialDist_25_002","Loc_SNR_25_002","Loc_RadialVelo_25_002","Loc_AziAngle_25_002","Loc_ElevAngle_25_002","Loc_RCS_25_002","Loc_RadialDist_25_003","Loc_SNR_25_003","Loc_RadialVelo_25_003","Loc_AziAngle_25_003","Loc_ElevAngle_25_003","Loc_RCS_25_003","Loc_RadialDist_25_004","Loc_SNR_25_004","Loc_RadialVelo_25_004","Loc_AziAngle_25_004","Loc_ElevAngle_25_004","Loc_RCS_25_004","Loc_25_CRC","Loc_25_AliveCtr","Loc_25_Blockcnt","Loc_Validity_25_001","Loc_Validity_25_002","Loc_Validity_25_003","Loc_Validity_25_004","Loc_RadialDistVeloQly_25_001","Loc_AziAngleQly_25_001","Loc_ElevAngleQly_25_001","Loc_RadialDistVeloQly_25_002","Loc_AziAngleQly_25_002","Loc_ElevAngleQly_25_002","Loc_RadialDistVeloQly_25_003","Loc_AziAngleQly_25_003","Loc_ElevAngleQly_25_003","Loc_RadialDistVeloQly_25_004","Loc_AziAngleQly_25_004","Loc_ElevAngleQly_25_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_25_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_25_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_25_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_25_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_25_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_25_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_25_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_25_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_25_pub.publish(radar_list_);
                break;
            };
    
            case (0x524):{
    
                miliwave_msg::RR_Location_Data_24 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_24_001","Loc_SNR_24_001","Loc_RadialVelo_24_001","Loc_AziAngle_24_001","Loc_ElevAngle_24_001","Loc_RCS_24_001","Loc_RadialDist_24_002","Loc_SNR_24_002","Loc_RadialVelo_24_002","Loc_AziAngle_24_002","Loc_ElevAngle_24_002","Loc_RCS_24_002","Loc_RadialDist_24_003","Loc_SNR_24_003","Loc_RadialVelo_24_003","Loc_AziAngle_24_003","Loc_ElevAngle_24_003","Loc_RCS_24_003","Loc_RadialDist_24_004","Loc_SNR_24_004","Loc_RadialVelo_24_004","Loc_AziAngle_24_004","Loc_ElevAngle_24_004","Loc_RCS_24_004","Loc_24_CRC","Loc_24_AliveCtr","Loc_24_Blockcnt","Loc_Validity_24_001","Loc_Validity_24_002","Loc_Validity_24_003","Loc_Validity_24_004","Loc_RadialDistVeloQly_24_001","Loc_AziAngleQly_24_001","Loc_ElevAngleQly_24_001","Loc_RadialDistVeloQly_24_002","Loc_AziAngleQly_24_002","Loc_ElevAngleQly_24_002","Loc_RadialDistVeloQly_24_003","Loc_AziAngleQly_24_003","Loc_ElevAngleQly_24_003","Loc_RadialDistVeloQly_24_004","Loc_AziAngleQly_24_004","Loc_ElevAngleQly_24_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_24_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_24_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_24_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_24_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_24_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_24_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_24_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_24_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_24_pub.publish(radar_list_);
                break;
            };
    
            case (0x523):{
    
                miliwave_msg::RR_Location_Data_23 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_23_001","Loc_SNR_23_001","Loc_RadialVelo_23_001","Loc_AziAngle_23_001","Loc_ElevAngle_23_001","Loc_RCS_23_001","Loc_RadialDist_23_002","Loc_SNR_23_002","Loc_RadialVelo_23_002","Loc_AziAngle_23_002","Loc_ElevAngle_23_002","Loc_RCS_23_002","Loc_RadialDist_23_003","Loc_SNR_23_003","Loc_RadialVelo_23_003","Loc_AziAngle_23_003","Loc_ElevAngle_23_003","Loc_RCS_23_003","Loc_RadialDist_23_004","Loc_SNR_23_004","Loc_RadialVelo_23_004","Loc_AziAngle_23_004","Loc_ElevAngle_23_004","Loc_RCS_23_004","Loc_23_CRC","Loc_23_AliveCtr","Loc_23_Blockcnt","Loc_Validity_23_001","Loc_Validity_23_002","Loc_Validity_23_003","Loc_Validity_23_004","Loc_RadialDistVeloQly_23_001","Loc_AziAngleQly_23_001","Loc_ElevAngleQly_23_001","Loc_RadialDistVeloQly_23_002","Loc_AziAngleQly_23_002","Loc_ElevAngleQly_23_002","Loc_RadialDistVeloQly_23_003","Loc_AziAngleQly_23_003","Loc_ElevAngleQly_23_003","Loc_RadialDistVeloQly_23_004","Loc_AziAngleQly_23_004","Loc_ElevAngleQly_23_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_23_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_23_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_23_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_23_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_23_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_23_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_23_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_23_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_23_pub.publish(radar_list_);
                break;
            };
    
            case (0x522):{
    
                miliwave_msg::RR_Location_Data_22 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_22_001","Loc_SNR_22_001","Loc_RadialVelo_22_001","Loc_AziAngle_22_001","Loc_ElevAngle_22_001","Loc_RCS_22_001","Loc_RadialDist_22_002","Loc_SNR_22_002","Loc_RadialVelo_22_002","Loc_AziAngle_22_002","Loc_ElevAngle_22_002","Loc_RCS_22_002","Loc_RadialDist_22_003","Loc_SNR_22_003","Loc_RadialVelo_22_003","Loc_AziAngle_22_003","Loc_ElevAngle_22_003","Loc_RCS_22_003","Loc_RadialDist_22_004","Loc_SNR_22_004","Loc_RadialVelo_22_004","Loc_AziAngle_22_004","Loc_ElevAngle_22_004","Loc_RCS_22_004","Loc_22_CRC","Loc_22_AliveCtr","Loc_22_Blockcnt","Loc_Validity_22_001","Loc_Validity_22_002","Loc_Validity_22_003","Loc_Validity_22_004","Loc_RadialDistVeloQly_22_001","Loc_AziAngleQly_22_001","Loc_ElevAngleQly_22_001","Loc_RadialDistVeloQly_22_002","Loc_AziAngleQly_22_002","Loc_ElevAngleQly_22_002","Loc_RadialDistVeloQly_22_003","Loc_AziAngleQly_22_003","Loc_ElevAngleQly_22_003","Loc_RadialDistVeloQly_22_004","Loc_AziAngleQly_22_004","Loc_ElevAngleQly_22_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_22_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_22_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_22_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_22_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_22_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_22_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_22_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_22_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_22_pub.publish(radar_list_);
                break;
            };
    
            case (0x521):{
    
                miliwave_msg::RR_Location_Data_21 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_21_001","Loc_SNR_21_001","Loc_RadialVelo_21_001","Loc_AziAngle_21_001","Loc_ElevAngle_21_001","Loc_RCS_21_001","Loc_RadialDist_21_002","Loc_SNR_21_002","Loc_RadialVelo_21_002","Loc_AziAngle_21_002","Loc_ElevAngle_21_002","Loc_RCS_21_002","Loc_RadialDist_21_003","Loc_SNR_21_003","Loc_RadialVelo_21_003","Loc_AziAngle_21_003","Loc_ElevAngle_21_003","Loc_RCS_21_003","Loc_RadialDist_21_004","Loc_SNR_21_004","Loc_RadialVelo_21_004","Loc_AziAngle_21_004","Loc_ElevAngle_21_004","Loc_RCS_21_004","Loc_21_CRC","Loc_21_AliveCtr","Loc_21_Blockcnt","Loc_Validity_21_001","Loc_Validity_21_002","Loc_Validity_21_003","Loc_Validity_21_004","Loc_RadialDistVeloQly_21_001","Loc_AziAngleQly_21_001","Loc_ElevAngleQly_21_001","Loc_RadialDistVeloQly_21_002","Loc_AziAngleQly_21_002","Loc_ElevAngleQly_21_002","Loc_RadialDistVeloQly_21_003","Loc_AziAngleQly_21_003","Loc_ElevAngleQly_21_003","Loc_RadialDistVeloQly_21_004","Loc_AziAngleQly_21_004","Loc_ElevAngleQly_21_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_21_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_21_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_21_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_21_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_21_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_21_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_21_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_21_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_21_pub.publish(radar_list_);
                break;
            };
    
            case (0x520):{
    
                miliwave_msg::RR_Location_Data_20 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_20_001","Loc_SNR_20_001","Loc_RadialVelo_20_001","Loc_AziAngle_20_001","Loc_ElevAngle_20_001","Loc_RCS_20_001","Loc_RadialDist_20_002","Loc_SNR_20_002","Loc_RadialVelo_20_002","Loc_AziAngle_20_002","Loc_ElevAngle_20_002","Loc_RCS_20_002","Loc_RadialDist_20_003","Loc_SNR_20_003","Loc_RadialVelo_20_003","Loc_AziAngle_20_003","Loc_ElevAngle_20_003","Loc_RCS_20_003","Loc_RadialDist_20_004","Loc_SNR_20_004","Loc_RadialVelo_20_004","Loc_AziAngle_20_004","Loc_ElevAngle_20_004","Loc_RCS_20_004","Loc_20_CRC","Loc_20_AliveCtr","Loc_20_Blockcnt","Loc_Validity_20_001","Loc_Validity_20_002","Loc_Validity_20_003","Loc_Validity_20_004","Loc_RadialDistVeloQly_20_001","Loc_AziAngleQly_20_001","Loc_ElevAngleQly_20_001","Loc_RadialDistVeloQly_20_002","Loc_AziAngleQly_20_002","Loc_ElevAngleQly_20_002","Loc_RadialDistVeloQly_20_003","Loc_AziAngleQly_20_003","Loc_ElevAngleQly_20_003","Loc_RadialDistVeloQly_20_004","Loc_AziAngleQly_20_004","Loc_ElevAngleQly_20_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_20_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_20_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_20_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_20_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_20_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_20_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_20_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_20_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_20_pub.publish(radar_list_);
                break;
            };
    
            case (0x519):{
    
                miliwave_msg::RR_Location_Data_19 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_19_001","Loc_SNR_19_001","Loc_RadialVelo_19_001","Loc_AziAngle_19_001","Loc_ElevAngle_19_001","Loc_RCS_19_001","Loc_RadialDist_19_002","Loc_SNR_19_002","Loc_RadialVelo_19_002","Loc_AziAngle_19_002","Loc_ElevAngle_19_002","Loc_RCS_19_002","Loc_RadialDist_19_003","Loc_SNR_19_003","Loc_RadialVelo_19_003","Loc_AziAngle_19_003","Loc_ElevAngle_19_003","Loc_RCS_19_003","Loc_RadialDist_19_004","Loc_SNR_19_004","Loc_RadialVelo_19_004","Loc_AziAngle_19_004","Loc_ElevAngle_19_004","Loc_RCS_19_004","Loc_19_CRC","Loc_19_AliveCtr","Loc_19_Blockcnt","Loc_Validity_19_001","Loc_Validity_19_002","Loc_Validity_19_003","Loc_Validity_19_004","Loc_RadialDistVeloQly_19_001","Loc_AziAngleQly_19_001","Loc_ElevAngleQly_19_001","Loc_RadialDistVeloQly_19_002","Loc_AziAngleQly_19_002","Loc_ElevAngleQly_19_002","Loc_RadialDistVeloQly_19_003","Loc_AziAngleQly_19_003","Loc_ElevAngleQly_19_003","Loc_RadialDistVeloQly_19_004","Loc_AziAngleQly_19_004","Loc_ElevAngleQly_19_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_19_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_19_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_19_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_19_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_19_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_19_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_19_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_19_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_19_pub.publish(radar_list_);
                break;
            };
    
            case (0x518):{
    
                miliwave_msg::RR_Location_Data_18 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_18_001","Loc_SNR_18_001","Loc_RadialVelo_18_001","Loc_AziAngle_18_001","Loc_ElevAngle_18_001","Loc_RCS_18_001","Loc_RadialDist_18_002","Loc_SNR_18_002","Loc_RadialVelo_18_002","Loc_AziAngle_18_002","Loc_ElevAngle_18_002","Loc_RCS_18_002","Loc_RadialDist_18_003","Loc_SNR_18_003","Loc_RadialVelo_18_003","Loc_AziAngle_18_003","Loc_ElevAngle_18_003","Loc_RCS_18_003","Loc_RadialDist_18_004","Loc_SNR_18_004","Loc_RadialVelo_18_004","Loc_AziAngle_18_004","Loc_ElevAngle_18_004","Loc_RCS_18_004","Loc_18_CRC","Loc_18_AliveCtr","Loc_18_Blockcnt","Loc_Validity_18_001","Loc_Validity_18_002","Loc_Validity_18_003","Loc_Validity_18_004","Loc_RadialDistVeloQly_18_001","Loc_AziAngleQly_18_001","Loc_ElevAngleQly_18_001","Loc_RadialDistVeloQly_18_002","Loc_AziAngleQly_18_002","Loc_ElevAngleQly_18_002","Loc_RadialDistVeloQly_18_003","Loc_AziAngleQly_18_003","Loc_ElevAngleQly_18_003","Loc_RadialDistVeloQly_18_004","Loc_AziAngleQly_18_004","Loc_ElevAngleQly_18_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_18_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_18_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_18_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_18_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_18_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_18_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_18_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_18_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_18_pub.publish(radar_list_);
                break;
            };
    
            case (0x517):{
    
                miliwave_msg::RR_Location_Data_17 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_17_001","Loc_SNR_17_001","Loc_RadialVelo_17_001","Loc_AziAngle_17_001","Loc_ElevAngle_17_001","Loc_RCS_17_001","Loc_RadialDist_17_002","Loc_SNR_17_002","Loc_RadialVelo_17_002","Loc_AziAngle_17_002","Loc_ElevAngle_17_002","Loc_RCS_17_002","Loc_RadialDist_17_003","Loc_SNR_17_003","Loc_RadialVelo_17_003","Loc_AziAngle_17_003","Loc_ElevAngle_17_003","Loc_RCS_17_003","Loc_RadialDist_17_004","Loc_SNR_17_004","Loc_RadialVelo_17_004","Loc_AziAngle_17_004","Loc_ElevAngle_17_004","Loc_RCS_17_004","Loc_17_CRC","Loc_17_AliveCtr","Loc_17_Blockcnt","Loc_Validity_17_001","Loc_Validity_17_002","Loc_Validity_17_003","Loc_Validity_17_004","Loc_RadialDistVeloQly_17_001","Loc_AziAngleQly_17_001","Loc_ElevAngleQly_17_001","Loc_RadialDistVeloQly_17_002","Loc_AziAngleQly_17_002","Loc_ElevAngleQly_17_002","Loc_RadialDistVeloQly_17_003","Loc_AziAngleQly_17_003","Loc_ElevAngleQly_17_003","Loc_RadialDistVeloQly_17_004","Loc_AziAngleQly_17_004","Loc_ElevAngleQly_17_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_17_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_17_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_17_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_17_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_17_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_17_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_17_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_17_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_17_pub.publish(radar_list_);
                break;
            };
    
            case (0x501):{
    
                miliwave_msg::RR_Location_Data_01 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_01_001","Loc_SNR_01_001","Loc_RadialVelo_01_001","Loc_AziAngle_01_001","Loc_ElevAngle_01_001","Loc_RCS_01_001","Loc_RadialDist_01_002","Loc_SNR_01_002","Loc_RadialVelo_01_002","Loc_AziAngle_01_002","Loc_ElevAngle_01_002","Loc_RCS_01_002","Loc_RadialDist_01_003","Loc_SNR_01_003","Loc_RadialVelo_01_003","Loc_AziAngle_01_003","Loc_ElevAngle_01_003","Loc_RCS_01_003","Loc_RadialDist_01_004","Loc_SNR_01_004","Loc_RadialVelo_01_004","Loc_AziAngle_01_004","Loc_ElevAngle_01_004","Loc_RCS_01_004","Loc_01_CRC","Loc_01_AliveCtr","Loc_01_Blockcnt","Loc_Validity_01_001","Loc_Validity_01_002","Loc_Validity_01_003","Loc_Validity_01_004","Loc_RadialDistVeloQly_01_001","Loc_AziAngleQly_01_001","Loc_ElevAngleQly_01_001","Loc_RadialDistVeloQly_01_002","Loc_AziAngleQly_01_002","Loc_ElevAngleQly_01_002","Loc_RadialDistVeloQly_01_003","Loc_AziAngleQly_01_003","Loc_ElevAngleQly_01_003","Loc_RadialDistVeloQly_01_004","Loc_AziAngleQly_01_004","Loc_ElevAngleQly_01_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_01_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_01_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_01_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_01_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_01_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_01_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_01_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_01_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_01_pub.publish(radar_list_);
                break;
            };
    
            case (0x502):{
    
                miliwave_msg::RR_Location_Data_02 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_02_001","Loc_SNR_02_001","Loc_RadialVelo_02_001","Loc_AziAngle_02_001","Loc_ElevAngle_02_001","Loc_RCS_02_001","Loc_RadialDist_02_002","Loc_SNR_02_002","Loc_RadialVelo_02_002","Loc_AziAngle_02_002","Loc_ElevAngle_02_002","Loc_RCS_02_002","Loc_RadialDist_02_003","Loc_SNR_02_003","Loc_RadialVelo_02_003","Loc_AziAngle_02_003","Loc_ElevAngle_02_003","Loc_RCS_02_003","Loc_RadialDist_02_004","Loc_SNR_02_004","Loc_RadialVelo_02_004","Loc_AziAngle_02_004","Loc_ElevAngle_02_004","Loc_RCS_02_004","Loc_02_CRC","Loc_02_AliveCtr","Loc_02_Blockcnt","Loc_Validity_02_001","Loc_Validity_02_002","Loc_Validity_02_003","Loc_Validity_02_004","Loc_RadialDistVeloQly_02_001","Loc_AziAngleQly_02_001","Loc_ElevAngleQly_02_001","Loc_RadialDistVeloQly_02_002","Loc_AziAngleQly_02_002","Loc_ElevAngleQly_02_002","Loc_RadialDistVeloQly_02_003","Loc_AziAngleQly_02_003","Loc_ElevAngleQly_02_003","Loc_RadialDistVeloQly_02_004","Loc_AziAngleQly_02_004","Loc_ElevAngleQly_02_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_02_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_02_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_02_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_02_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_02_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_02_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_02_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_02_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_02_pub.publish(radar_list_);
                break;
            };
    
            case (0x503):{
    
                miliwave_msg::RR_Location_Data_03 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_03_001","Loc_SNR_03_001","Loc_RadialVelo_03_001","Loc_AziAngle_03_001","Loc_ElevAngle_03_001","Loc_RCS_03_001","Loc_RadialDist_03_002","Loc_SNR_03_002","Loc_RadialVelo_03_002","Loc_AziAngle_03_002","Loc_ElevAngle_03_002","Loc_RCS_03_002","Loc_RadialDist_03_003","Loc_SNR_03_003","Loc_RadialVelo_03_003","Loc_AziAngle_03_003","Loc_ElevAngle_03_003","Loc_RCS_03_003","Loc_RadialDist_03_004","Loc_SNR_03_004","Loc_RadialVelo_03_004","Loc_AziAngle_03_004","Loc_ElevAngle_03_004","Loc_RCS_03_004","Loc_03_CRC","Loc_03_AliveCtr","Loc_03_Blockcnt","Loc_Validity_03_001","Loc_Validity_03_002","Loc_Validity_03_003","Loc_Validity_03_004","Loc_RadialDistVeloQly_03_001","Loc_AziAngleQly_03_001","Loc_ElevAngleQly_03_001","Loc_RadialDistVeloQly_03_002","Loc_AziAngleQly_03_002","Loc_ElevAngleQly_03_002","Loc_RadialDistVeloQly_03_003","Loc_AziAngleQly_03_003","Loc_ElevAngleQly_03_003","Loc_RadialDistVeloQly_03_004","Loc_AziAngleQly_03_004","Loc_ElevAngleQly_03_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_03_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_03_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_03_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_03_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_03_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_03_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_03_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_03_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_03_pub.publish(radar_list_);
                break;
            };
    
            case (0x504):{
    
                miliwave_msg::RR_Location_Data_04 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_04_001","Loc_SNR_04_001","Loc_RadialVelo_04_001","Loc_AziAngle_04_001","Loc_ElevAngle_04_001","Loc_RCS_04_001","Loc_RadialDist_04_002","Loc_SNR_04_002","Loc_RadialVelo_04_002","Loc_AziAngle_04_002","Loc_ElevAngle_04_002","Loc_RCS_04_002","Loc_RadialDist_04_003","Loc_SNR_04_003","Loc_RadialVelo_04_003","Loc_AziAngle_04_003","Loc_ElevAngle_04_003","Loc_RCS_04_003","Loc_RadialDist_04_004","Loc_SNR_04_004","Loc_RadialVelo_04_004","Loc_AziAngle_04_004","Loc_ElevAngle_04_004","Loc_RCS_04_004","Loc_04_CRC","Loc_04_AliveCtr","Loc_04_Blockcnt","Loc_Validity_04_001","Loc_Validity_04_002","Loc_Validity_04_003","Loc_Validity_04_004","Loc_RadialDistVeloQly_04_001","Loc_AziAngleQly_04_001","Loc_ElevAngleQly_04_001","Loc_RadialDistVeloQly_04_002","Loc_AziAngleQly_04_002","Loc_ElevAngleQly_04_002","Loc_RadialDistVeloQly_04_003","Loc_AziAngleQly_04_003","Loc_ElevAngleQly_04_003","Loc_RadialDistVeloQly_04_004","Loc_AziAngleQly_04_004","Loc_ElevAngleQly_04_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_04_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_04_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_04_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_04_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_04_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_04_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_04_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_04_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_04_pub.publish(radar_list_);
                break;
            };
    
            case (0x505):{
    
                miliwave_msg::RR_Location_Data_05 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_05_001","Loc_SNR_05_001","Loc_RadialVelo_05_001","Loc_AziAngle_05_001","Loc_ElevAngle_05_001","Loc_RCS_05_001","Loc_RadialDist_05_002","Loc_SNR_05_002","Loc_RadialVelo_05_002","Loc_AziAngle_05_002","Loc_ElevAngle_05_002","Loc_RCS_05_002","Loc_RadialDist_05_003","Loc_SNR_05_003","Loc_RadialVelo_05_003","Loc_AziAngle_05_003","Loc_ElevAngle_05_003","Loc_RCS_05_003","Loc_RadialDist_05_004","Loc_SNR_05_004","Loc_RadialVelo_05_004","Loc_AziAngle_05_004","Loc_ElevAngle_05_004","Loc_RCS_05_004","Loc_05_CRC","Loc_05_AliveCtr","Loc_05_Blockcnt","Loc_Validity_05_001","Loc_Validity_05_002","Loc_Validity_05_003","Loc_Validity_05_004","Loc_RadialDistVeloQly_05_001","Loc_AziAngleQly_05_001","Loc_ElevAngleQly_05_001","Loc_RadialDistVeloQly_05_002","Loc_AziAngleQly_05_002","Loc_ElevAngleQly_05_002","Loc_RadialDistVeloQly_05_003","Loc_AziAngleQly_05_003","Loc_ElevAngleQly_05_003","Loc_RadialDistVeloQly_05_004","Loc_AziAngleQly_05_004","Loc_ElevAngleQly_05_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_05_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_05_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_05_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_05_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_05_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_05_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_05_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_05_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_05_pub.publish(radar_list_);
                break;
            };
    
            case (0x506):{
    
                miliwave_msg::RR_Location_Data_06 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_06_001","Loc_SNR_06_001","Loc_RadialVelo_06_001","Loc_AziAngle_06_001","Loc_ElevAngle_06_001","Loc_RCS_06_001","Loc_RadialDist_06_002","Loc_SNR_06_002","Loc_RadialVelo_06_002","Loc_AziAngle_06_002","Loc_ElevAngle_06_002","Loc_RCS_06_002","Loc_RadialDist_06_003","Loc_SNR_06_003","Loc_RadialVelo_06_003","Loc_AziAngle_06_003","Loc_ElevAngle_06_003","Loc_RCS_06_003","Loc_RadialDist_06_004","Loc_SNR_06_004","Loc_RadialVelo_06_004","Loc_AziAngle_06_004","Loc_ElevAngle_06_004","Loc_RCS_06_004","Loc_06_CRC","Loc_06_AliveCtr","Loc_06_Blockcnt","Loc_Validity_06_001","Loc_Validity_06_002","Loc_Validity_06_003","Loc_Validity_06_004","Loc_RadialDistVeloQly_06_001","Loc_AziAngleQly_06_001","Loc_ElevAngleQly_06_001","Loc_RadialDistVeloQly_06_002","Loc_AziAngleQly_06_002","Loc_ElevAngleQly_06_002","Loc_RadialDistVeloQly_06_003","Loc_AziAngleQly_06_003","Loc_ElevAngleQly_06_003","Loc_RadialDistVeloQly_06_004","Loc_AziAngleQly_06_004","Loc_ElevAngleQly_06_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_06_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_06_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_06_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_06_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_06_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_06_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_06_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_06_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_06_pub.publish(radar_list_);
                break;
            };
    
            case (0x507):{
    
                miliwave_msg::RR_Location_Data_07 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_07_001","Loc_SNR_07_001","Loc_RadialVelo_07_001","Loc_AziAngle_07_001","Loc_ElevAngle_07_001","Loc_RCS_07_001","Loc_RadialDist_07_002","Loc_SNR_07_002","Loc_RadialVelo_07_002","Loc_AziAngle_07_002","Loc_ElevAngle_07_002","Loc_RCS_07_002","Loc_RadialDist_07_003","Loc_SNR_07_003","Loc_RadialVelo_07_003","Loc_AziAngle_07_003","Loc_ElevAngle_07_003","Loc_RCS_07_003","Loc_RadialDist_07_004","Loc_SNR_07_004","Loc_RadialVelo_07_004","Loc_AziAngle_07_004","Loc_ElevAngle_07_004","Loc_RCS_07_004","Loc_07_CRC","Loc_07_AliveCtr","Loc_07_Blockcnt","Loc_Validity_07_001","Loc_Validity_07_002","Loc_Validity_07_003","Loc_Validity_07_004","Loc_RadialDistVeloQly_07_001","Loc_AziAngleQly_07_001","Loc_ElevAngleQly_07_001","Loc_RadialDistVeloQly_07_002","Loc_AziAngleQly_07_002","Loc_ElevAngleQly_07_002","Loc_RadialDistVeloQly_07_003","Loc_AziAngleQly_07_003","Loc_ElevAngleQly_07_003","Loc_RadialDistVeloQly_07_004","Loc_AziAngleQly_07_004","Loc_ElevAngleQly_07_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_07_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_07_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_07_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_07_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_07_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_07_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_07_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_07_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_07_pub.publish(radar_list_);
                break;
            };
    
            case (0x508):{
    
                miliwave_msg::RR_Location_Data_08 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_08_001","Loc_SNR_08_001","Loc_RadialVelo_08_001","Loc_AziAngle_08_001","Loc_ElevAngle_08_001","Loc_RCS_08_001","Loc_RadialDist_08_002","Loc_SNR_08_002","Loc_RadialVelo_08_002","Loc_AziAngle_08_002","Loc_ElevAngle_08_002","Loc_RCS_08_002","Loc_RadialDist_08_003","Loc_SNR_08_003","Loc_RadialVelo_08_003","Loc_AziAngle_08_003","Loc_ElevAngle_08_003","Loc_RCS_08_003","Loc_RadialDist_08_004","Loc_SNR_08_004","Loc_RadialVelo_08_004","Loc_AziAngle_08_004","Loc_ElevAngle_08_004","Loc_RCS_08_004","Loc_08_CRC","Loc_08_AliveCtr","Loc_08_Blockcnt","Loc_Validity_08_001","Loc_Validity_08_002","Loc_Validity_08_003","Loc_Validity_08_004","Loc_RadialDistVeloQly_08_001","Loc_AziAngleQly_08_001","Loc_ElevAngleQly_08_001","Loc_RadialDistVeloQly_08_002","Loc_AziAngleQly_08_002","Loc_ElevAngleQly_08_002","Loc_RadialDistVeloQly_08_003","Loc_AziAngleQly_08_003","Loc_ElevAngleQly_08_003","Loc_RadialDistVeloQly_08_004","Loc_AziAngleQly_08_004","Loc_ElevAngleQly_08_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_08_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_08_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_08_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_08_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_08_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_08_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_08_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_08_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_08_pub.publish(radar_list_);
                break;
            };
    
            case (0x509):{
    
                miliwave_msg::RR_Location_Data_09 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_09_001","Loc_SNR_09_001","Loc_RadialVelo_09_001","Loc_AziAngle_09_001","Loc_ElevAngle_09_001","Loc_RCS_09_001","Loc_RadialDist_09_002","Loc_SNR_09_002","Loc_RadialVelo_09_002","Loc_AziAngle_09_002","Loc_ElevAngle_09_002","Loc_RCS_09_002","Loc_RadialDist_09_003","Loc_SNR_09_003","Loc_RadialVelo_09_003","Loc_AziAngle_09_003","Loc_ElevAngle_09_003","Loc_RCS_09_003","Loc_RadialDist_09_004","Loc_SNR_09_004","Loc_RadialVelo_09_004","Loc_AziAngle_09_004","Loc_ElevAngle_09_004","Loc_RCS_09_004","Loc_09_CRC","Loc_09_AliveCtr","Loc_09_Blockcnt","Loc_Validity_09_001","Loc_Validity_09_002","Loc_Validity_09_003","Loc_Validity_09_004","Loc_RadialDistVeloQly_09_001","Loc_AziAngleQly_09_001","Loc_ElevAngleQly_09_001","Loc_RadialDistVeloQly_09_002","Loc_AziAngleQly_09_002","Loc_ElevAngleQly_09_002","Loc_RadialDistVeloQly_09_003","Loc_AziAngleQly_09_003","Loc_ElevAngleQly_09_003","Loc_RadialDistVeloQly_09_004","Loc_AziAngleQly_09_004","Loc_ElevAngleQly_09_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_09_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_09_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_09_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_09_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_09_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_09_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_09_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_09_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_09_pub.publish(radar_list_);
                break;
            };
    
            case (0x510):{
    
                miliwave_msg::RR_Location_Data_10 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_10_001","Loc_SNR_10_001","Loc_RadialVelo_10_001","Loc_AziAngle_10_001","Loc_ElevAngle_10_001","Loc_RCS_10_001","Loc_RadialDist_10_002","Loc_SNR_10_002","Loc_RadialVelo_10_002","Loc_AziAngle_10_002","Loc_ElevAngle_10_002","Loc_RCS_10_002","Loc_RadialDist_10_003","Loc_SNR_10_003","Loc_RadialVelo_10_003","Loc_AziAngle_10_003","Loc_ElevAngle_10_003","Loc_RCS_10_003","Loc_RadialDist_10_004","Loc_SNR_10_004","Loc_RadialVelo_10_004","Loc_AziAngle_10_004","Loc_ElevAngle_10_004","Loc_RCS_10_004","Loc_10_CRC","Loc_10_AliveCtr","Loc_10_Blockcnt","Loc_Validity_10_001","Loc_Validity_10_002","Loc_Validity_10_003","Loc_Validity_10_004","Loc_RadialDistVeloQly_10_001","Loc_AziAngleQly_10_001","Loc_ElevAngleQly_10_001","Loc_RadialDistVeloQly_10_002","Loc_AziAngleQly_10_002","Loc_ElevAngleQly_10_002","Loc_RadialDistVeloQly_10_003","Loc_AziAngleQly_10_003","Loc_ElevAngleQly_10_003","Loc_RadialDistVeloQly_10_004","Loc_AziAngleQly_10_004","Loc_ElevAngleQly_10_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_10_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_10_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_10_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_10_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_10_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_10_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_10_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_10_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_10_pub.publish(radar_list_);
                break;
            };
    
            case (0x511):{
    
                miliwave_msg::RR_Location_Data_11 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_11_001","Loc_SNR_11_001","Loc_RadialVelo_11_001","Loc_AziAngle_11_001","Loc_ElevAngle_11_001","Loc_RCS_11_001","Loc_RadialDist_11_002","Loc_SNR_11_002","Loc_RadialVelo_11_002","Loc_AziAngle_11_002","Loc_ElevAngle_11_002","Loc_RCS_11_002","Loc_RadialDist_11_003","Loc_SNR_11_003","Loc_RadialVelo_11_003","Loc_AziAngle_11_003","Loc_ElevAngle_11_003","Loc_RCS_11_003","Loc_RadialDist_11_004","Loc_SNR_11_004","Loc_RadialVelo_11_004","Loc_AziAngle_11_004","Loc_ElevAngle_11_004","Loc_RCS_11_004","Loc_11_CRC","Loc_11_AliveCtr","Loc_11_Blockcnt","Loc_Validity_11_001","Loc_Validity_11_002","Loc_Validity_11_003","Loc_Validity_11_004","Loc_RadialDistVeloQly_11_001","Loc_AziAngleQly_11_001","Loc_ElevAngleQly_11_001","Loc_RadialDistVeloQly_11_002","Loc_AziAngleQly_11_002","Loc_ElevAngleQly_11_002","Loc_RadialDistVeloQly_11_003","Loc_AziAngleQly_11_003","Loc_ElevAngleQly_11_003","Loc_RadialDistVeloQly_11_004","Loc_AziAngleQly_11_004","Loc_ElevAngleQly_11_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_11_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_11_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_11_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_11_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_11_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_11_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_11_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_11_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_11_pub.publish(radar_list_);
                break;
            };
    
            case (0x512):{
    
                miliwave_msg::RR_Location_Data_12 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_12_001","Loc_SNR_12_001","Loc_RadialVelo_12_001","Loc_AziAngle_12_001","Loc_ElevAngle_12_001","Loc_RCS_12_001","Loc_RadialDist_12_002","Loc_SNR_12_002","Loc_RadialVelo_12_002","Loc_AziAngle_12_002","Loc_ElevAngle_12_002","Loc_RCS_12_002","Loc_RadialDist_12_003","Loc_SNR_12_003","Loc_RadialVelo_12_003","Loc_AziAngle_12_003","Loc_ElevAngle_12_003","Loc_RCS_12_003","Loc_RadialDist_12_004","Loc_SNR_12_004","Loc_RadialVelo_12_004","Loc_AziAngle_12_004","Loc_ElevAngle_12_004","Loc_RCS_12_004","Loc_12_CRC","Loc_12_AliveCtr","Loc_12_Blockcnt","Loc_Validity_12_001","Loc_Validity_12_002","Loc_Validity_12_003","Loc_Validity_12_004","Loc_RadialDistVeloQly_12_001","Loc_AziAngleQly_12_001","Loc_ElevAngleQly_12_001","Loc_RadialDistVeloQly_12_002","Loc_AziAngleQly_12_002","Loc_ElevAngleQly_12_002","Loc_RadialDistVeloQly_12_003","Loc_AziAngleQly_12_003","Loc_ElevAngleQly_12_003","Loc_RadialDistVeloQly_12_004","Loc_AziAngleQly_12_004","Loc_ElevAngleQly_12_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_12_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_12_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_12_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_12_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_12_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_12_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_12_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_12_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_12_pub.publish(radar_list_);
                break;
            };
    
            case (0x513):{
    
                miliwave_msg::RR_Location_Data_13 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_13_001","Loc_SNR_13_001","Loc_RadialVelo_13_001","Loc_AziAngle_13_001","Loc_ElevAngle_13_001","Loc_RCS_13_001","Loc_RadialDist_13_002","Loc_SNR_13_002","Loc_RadialVelo_13_002","Loc_AziAngle_13_002","Loc_ElevAngle_13_002","Loc_RCS_13_002","Loc_RadialDist_13_003","Loc_SNR_13_003","Loc_RadialVelo_13_003","Loc_AziAngle_13_003","Loc_ElevAngle_13_003","Loc_RCS_13_003","Loc_RadialDist_13_004","Loc_SNR_13_004","Loc_RadialVelo_13_004","Loc_AziAngle_13_004","Loc_ElevAngle_13_004","Loc_RCS_13_004","Loc_13_CRC","Loc_13_AliveCtr","Loc_13_Blockcnt","Loc_Validity_13_001","Loc_Validity_13_002","Loc_Validity_13_003","Loc_Validity_13_004","Loc_RadialDistVeloQly_13_001","Loc_AziAngleQly_13_001","Loc_ElevAngleQly_13_001","Loc_RadialDistVeloQly_13_002","Loc_AziAngleQly_13_002","Loc_ElevAngleQly_13_002","Loc_RadialDistVeloQly_13_003","Loc_AziAngleQly_13_003","Loc_ElevAngleQly_13_003","Loc_RadialDistVeloQly_13_004","Loc_AziAngleQly_13_004","Loc_ElevAngleQly_13_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_13_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_13_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_13_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_13_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_13_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_13_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_13_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_13_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_13_pub.publish(radar_list_);
                break;
            };
    
            case (0x514):{
    
                miliwave_msg::RR_Location_Data_14 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_14_001","Loc_SNR_14_001","Loc_RadialVelo_14_001","Loc_AziAngle_14_001","Loc_ElevAngle_14_001","Loc_RCS_14_001","Loc_RadialDist_14_002","Loc_SNR_14_002","Loc_RadialVelo_14_002","Loc_AziAngle_14_002","Loc_ElevAngle_14_002","Loc_RCS_14_002","Loc_RadialDist_14_003","Loc_SNR_14_003","Loc_RadialVelo_14_003","Loc_AziAngle_14_003","Loc_ElevAngle_14_003","Loc_RCS_14_003","Loc_RadialDist_14_004","Loc_SNR_14_004","Loc_RadialVelo_14_004","Loc_AziAngle_14_004","Loc_ElevAngle_14_004","Loc_RCS_14_004","Loc_14_CRC","Loc_14_AliveCtr","Loc_14_Blockcnt","Loc_Validity_14_001","Loc_Validity_14_002","Loc_Validity_14_003","Loc_Validity_14_004","Loc_RadialDistVeloQly_14_001","Loc_AziAngleQly_14_001","Loc_ElevAngleQly_14_001","Loc_RadialDistVeloQly_14_002","Loc_AziAngleQly_14_002","Loc_ElevAngleQly_14_002","Loc_RadialDistVeloQly_14_003","Loc_AziAngleQly_14_003","Loc_ElevAngleQly_14_003","Loc_RadialDistVeloQly_14_004","Loc_AziAngleQly_14_004","Loc_ElevAngleQly_14_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_14_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_14_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_14_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_14_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_14_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_14_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_14_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_14_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_14_pub.publish(radar_list_);
                break;
            };
    
            case (0x515):{
    
                miliwave_msg::RR_Location_Data_15 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_15_001","Loc_SNR_15_001","Loc_RadialVelo_15_001","Loc_AziAngle_15_001","Loc_ElevAngle_15_001","Loc_RCS_15_001","Loc_RadialDist_15_002","Loc_SNR_15_002","Loc_RadialVelo_15_002","Loc_AziAngle_15_002","Loc_ElevAngle_15_002","Loc_RCS_15_002","Loc_RadialDist_15_003","Loc_SNR_15_003","Loc_RadialVelo_15_003","Loc_AziAngle_15_003","Loc_ElevAngle_15_003","Loc_RCS_15_003","Loc_RadialDist_15_004","Loc_SNR_15_004","Loc_RadialVelo_15_004","Loc_AziAngle_15_004","Loc_ElevAngle_15_004","Loc_RCS_15_004","Loc_15_CRC","Loc_15_AliveCtr","Loc_15_Blockcnt","Loc_Validity_15_001","Loc_Validity_15_002","Loc_Validity_15_003","Loc_Validity_15_004","Loc_RadialDistVeloQly_15_001","Loc_AziAngleQly_15_001","Loc_ElevAngleQly_15_001","Loc_RadialDistVeloQly_15_002","Loc_AziAngleQly_15_002","Loc_ElevAngleQly_15_002","Loc_RadialDistVeloQly_15_003","Loc_AziAngleQly_15_003","Loc_ElevAngleQly_15_003","Loc_RadialDistVeloQly_15_004","Loc_AziAngleQly_15_004","Loc_ElevAngleQly_15_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_15_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_15_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_15_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_15_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_15_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_15_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_15_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_15_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_15_pub.publish(radar_list_);
                break;
            };
    
            case (0x516):{
    
                miliwave_msg::RR_Location_Data_16 radar_list_;
    
                    
    
                string signal_name_list[] = {"Loc_RadialDist_16_001","Loc_SNR_16_001","Loc_RadialVelo_16_001","Loc_AziAngle_16_001","Loc_ElevAngle_16_001","Loc_RCS_16_001","Loc_RadialDist_16_002","Loc_SNR_16_002","Loc_RadialVelo_16_002","Loc_AziAngle_16_002","Loc_ElevAngle_16_002","Loc_RCS_16_002","Loc_RadialDist_16_003","Loc_SNR_16_003","Loc_RadialVelo_16_003","Loc_AziAngle_16_003","Loc_ElevAngle_16_003","Loc_RCS_16_003","Loc_RadialDist_16_004","Loc_SNR_16_004","Loc_RadialVelo_16_004","Loc_AziAngle_16_004","Loc_ElevAngle_16_004","Loc_RCS_16_004","Loc_16_CRC","Loc_16_AliveCtr","Loc_16_Blockcnt","Loc_Validity_16_001","Loc_Validity_16_002","Loc_Validity_16_003","Loc_Validity_16_004","Loc_RadialDistVeloQly_16_001","Loc_AziAngleQly_16_001","Loc_ElevAngleQly_16_001","Loc_RadialDistVeloQly_16_002","Loc_AziAngleQly_16_002","Loc_ElevAngleQly_16_002","Loc_RadialDistVeloQly_16_003","Loc_AziAngleQly_16_003","Loc_ElevAngleQly_16_003","Loc_RadialDistVeloQly_16_004","Loc_AziAngleQly_16_004","Loc_ElevAngleQly_16_004"};
    
                int bit_index[] = {0, 15, 15, 11, 26, 15, 41, 12, 53, 11, 64, 10, 74, 15, 89, 11, 100, 15, 115, 12, 127, 11, 138, 10, 148, 15, 163, 11, 174, 15, 189, 12, 201, 11, 212, 10, 222, 15, 237, 11, 248, 15, 263, 12, 275, 11, 286, 10, 296, 16, 312, 8, 320, 4, 324, 1, 325, 1, 326, 1, 327, 1, 328, 8, 336, 8, 344, 8, 352, 8, 360, 8, 368, 8, 376, 8, 384, 8, 392, 8, 400, 8, 408, 8, 416, 8};
    
                double signal_factor[] = {0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 0.0078125, 0.0625, 0.0078125, 0.001, 0.001, 0.125, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    
                double signal_offset[] = {0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, -128.0, -1.57, -0.785, -50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
    
                int index_list_length = sizeof(bit_index)/sizeof(bit_index[0]);
                vector<int> the_index_list;
                for(int index = 0;index < index_list_length;index+=2){
                    int start_index;
                    int end_index;
                    start_index = bit_index[index];
                    end_index = start_index + bit_index[index+1];
                    the_index_list.push_back(start_index);
                    the_index_list.push_back(end_index);
                }
                int signal_name_list_length = sizeof(signal_name_list)/sizeof(signal_name_list[0]);
                vector<int> value_list;
                int message_data;
                for(int i = 0;i < index_list_length;i+=2){
                    vector<int> data;
                    for(int j = 0;j < 512;j++){
                        if(j>=(int)(the_index_list[i])){

                            if(j >=(int)(the_index_list[i+1])){
                                break;
                            }
                            data.push_back(value[j]);
                        }
                    }
                    int data_length = data.size();
                    if(data_length > 0){
                        int num = 0;
                        reverse(data.begin(),data.end());
                        for(int k = 0;k<data_length;k++){
                            int n = data[k];
                            num += (n * pow(2,k));
                        }
                        value_list.push_back(num);
                    }
                }
                for(int i = 0;i < signal_name_list_length;i++){
                    double factor = signal_factor[i];
                    double offset = signal_offset[i];
                     
                    if (i == 0){
                        radar_list_.Loc_RadialDist_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 1){
                        radar_list_.Loc_SNR_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 2){
                        radar_list_.Loc_RadialVelo_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 3){
                        radar_list_.Loc_AziAngle_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 4){
                        radar_list_.Loc_ElevAngle_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 5){
                        radar_list_.Loc_RCS_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 6){
                        radar_list_.Loc_RadialDist_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 7){
                        radar_list_.Loc_SNR_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 8){
                        radar_list_.Loc_RadialVelo_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 9){
                        radar_list_.Loc_AziAngle_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 10){
                        radar_list_.Loc_ElevAngle_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 11){
                        radar_list_.Loc_RCS_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 12){
                        radar_list_.Loc_RadialDist_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 13){
                        radar_list_.Loc_SNR_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 14){
                        radar_list_.Loc_RadialVelo_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 15){
                        radar_list_.Loc_AziAngle_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 16){
                        radar_list_.Loc_ElevAngle_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 17){
                        radar_list_.Loc_RCS_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 18){
                        radar_list_.Loc_RadialDist_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 19){
                        radar_list_.Loc_SNR_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 20){
                        radar_list_.Loc_RadialVelo_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 21){
                        radar_list_.Loc_AziAngle_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 22){
                        radar_list_.Loc_ElevAngle_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 23){
                        radar_list_.Loc_RCS_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 24){
                        radar_list_.Loc_16_CRC = value_list[i] * factor + offset;
                    }
                     
                    if (i == 25){
                        radar_list_.Loc_16_AliveCtr = value_list[i] * factor + offset;
                    }
                     
                    if (i == 26){
                        radar_list_.Loc_16_Blockcnt = value_list[i] * factor + offset;
                    }
                     
                    if (i == 27){
                        radar_list_.Loc_Validity_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 28){
                        radar_list_.Loc_Validity_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 29){
                        radar_list_.Loc_Validity_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 30){
                        radar_list_.Loc_Validity_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 31){
                        radar_list_.Loc_RadialDistVeloQly_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 32){
                        radar_list_.Loc_AziAngleQly_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 33){
                        radar_list_.Loc_ElevAngleQly_16_001 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 34){
                        radar_list_.Loc_RadialDistVeloQly_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 35){
                        radar_list_.Loc_AziAngleQly_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 36){
                        radar_list_.Loc_ElevAngleQly_16_002 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 37){
                        radar_list_.Loc_RadialDistVeloQly_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 38){
                        radar_list_.Loc_AziAngleQly_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 39){
                        radar_list_.Loc_ElevAngleQly_16_003 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 40){
                        radar_list_.Loc_RadialDistVeloQly_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 41){
                        radar_list_.Loc_AziAngleQly_16_004 = value_list[i] * factor + offset;
                    }
                     
                    if (i == 42){
                        radar_list_.Loc_ElevAngleQly_16_004 = value_list[i] * factor + offset;
                    }
    
                }
                std::cout << radar_list_ << std::endl;
                rr_location_data_16_pub.publish(radar_list_);
                break;
            };
    
            
        };
    };
    